Je ne trouve pas de réponse précise à cette question:
Les paramètres envoyés par PUT sont-ils transmis dans l'URL ou dans l'en-tête HTTP?
Je pense que c'est l'en-tête HTTP, mais lorsque je soumets mon formulaire avec la méthode PUT, il ajoute les paramètres à l'URL!
Les paramètres envoyés par PUT sont-ils transmis dans l'URL ou dans l'en-tête HTTP?
Pas les en-têtes. C'est la même chose que POST - soit l'URL soit le corps de la requête. La seule différence est le verbe HTTP utilisé et bien sûr la sémantique qui l'accompagne (METTRE À JOUR une ressource sur le serveur ).
Votre question semble concerner les formulaires HTML. Dans ce cas, la réponse est: ils ne prennent pas en charge PUT (le navigateur envoie toujours une demande POST à la place).
S'il ne s'agit pas de formulaires HTML: c'est à vous de décider. Par exemple, dans XmlHttpRequest, vous pouvez utiliser les deux.