2009-02-26 8 views
1

Je suis tombé sur du code l'autre jour qui utilisait des paramètres de requête spécifiés dans l'URI tout en étant en même temps un HTTP POST.POSTing à un URI avec des paramètres de requête GET?

Je me demandais simplement si l'interprétation de ces champs est spécifique au vendeur? Est-ce que les RFC disent quelque chose de spécifique à ce sujet? Et si un paramètre existe dans les deux, lequel gagne?

Pour mieux illustrer, la requête avait l'air quelque chose comme ceci:

POST/messages/user = HTTP bob/1.1

user = facture & title = test & content = Test + contenu

Merci

Répondre

2

C'est parfait juridique. De nombreux frameworks le supportent, par exemple l'API Servlet spécifie même la priorité (ordre) des arguments tels qu'ils apparaissent dans getParameters (String) qui fournira le paramètre query en premier. Par exemple, cela est également légal, pas les noms de paramètres sont les mêmes.

POST /path?param1=value HTTP/1.1 
Host: localhost 

param1=value&param2=value 

Ceci est également valable selon le RFC HTTP/1.1, un regard sur RFC 2616.

Il ne devrait pas être spécifique au vendeur, et la plupart des frameworks complets le supporteront.

1

Il n'y a pas d'écrasement. Les valeurs GET et POST sont transmises en tant que collections distinctes.

0

Je le fais occasionnellement. Habituellement, je vais mettre les champs de mise à jour dans les données de poste, avec les données de requête utilisées pour formater la réponse

Questions connexes