web-dev-qa-db-fra.com

Quelle est la méthode HTTP par défaut?

Lorsqu'un formulaire HTML est soumis sans spécifier de méthode, quelle est la méthode HTTP par défaut utilisée? GET ou POST? 

Ce comportement a-t-il déjà changé entre les normes HTML?

Veuillez citer un document standard du W3C si possible.

121
David

C'est GET.

Jetez un oeil ici .

Extrait:

<!ATTLIST FORM
  %attrs;                              -- %coreattrs, %i18n, %events --
  action      %URI;          #REQUIRED -- server-side form handler --
  method      (GET|POST)     GET       -- HTTP method used to submit the form--
  enctype     %ContentType;  "application/x-www-form-urlencoded"
  accept      %ContentTypes; #IMPLIED  -- list of MIME types for file upload --
  name        CDATA          #IMPLIED  -- name of form for scripting --
  onsubmit    %Script;       #IMPLIED  -- the form was submitted --
  onreset     %Script;       #IMPLIED  -- the form was reset --
  accept-charset %Charsets;  #IMPLIED  -- list of supported charsets --
  >

Bonne lecture

Méthodes GET et POST dans les formulaires HTML - quelle est la différence?

154
Drew Wills

Ici est la référence du W3C, qui indique que GET est la valeur par défaut.

13
Jon Seigel

Si non spécifié, la valeur par défaut est GET . Je ne vois aucune indication indiquant que ce comportement a déjà été différent ... .. Et il est logique que GET soit la valeur par défaut, car elle spécifie que la méthode doit être utilisée pour des actions sans effets secondaires .

http://www.faqs.org/faqs/www/cgi-faq/section-37.html

Citations de http://www.w3.org/TR/html401/interact/forms.html#h-17.3

method = get | post [CI]
Cet attribut spécifie quelle méthode HTTP sera utilisée pour soumettre le jeu de données de formulaire. Les valeurs possibles (insensibles à la casse) sont "get" (valeur par défaut) et "post". Reportez-vous à la section sur la soumission de formulaire pour des informations sur l’utilisation. 

17.13.1 Méthode de soumission du formulaire
L'attribut method de l'élément FORM spécifie la méthode HTTP utilisé pour envoyer le formulaire à l'agent de traitement. Cet attribut peut prendre deux valeurs:

  • get: Avec la méthode HTTP "get", le jeu de données de formulaire est ajouté à l'URI spécifié par l'attribut d'action (avec un point d'interrogation ("?") comme séparateur) et ce nouvel URI est envoyé à l'agent de traitement. 

  • post: Avec la méthode HTTP "post", le jeu de données de formulaire est inclus dans le corps du formulaire et envoyé à l'agent de traitement. 

La méthode "get" doit être utilisée lorsque le formulaire est idempotent (c.-à-d. ne cause aucun effet secondaire). De nombreuses recherches dans les bases de données n'ont aucun effet secondaire visible et faire des applications idéales pour la méthode "get".

8
Roger Willcocks

Selon La norme W3C vous demandez, le paramètre par défaut devrait être GET.

5
ghoppe

(réponse plus complète, également sur l'action et enctype)

Les 'méthode', 'action' et 'enctype' par défaut d'un formulaire HTML, s'ils ne sont pas spécifiés, sont
GET, URL actuelle et application/x-www-form-urlencoded respectivement.
(Par exemple, par défaut, un formulaire demande la page en cours avec les paramètres entrés.)
Ce comportement n'a jamais changé, à l'exception de 'action' (en HTML 4, il était obligatoire). Citations:

method: "La valeur par défaut missing pour l'attribut de méthode est ... l'état GET."
action:

L’action d’un élément est la valeur de l’attribut formaction de l’élément, si l’élément est un bouton Soumettre et possède un tel attribut, ou la valeur de l’attribut action de son propriétaire de formulaire, s’il en a un, ou encore la chaîne vide. <...> Si action est la chaîne vide, laissez action l'URL du document sous forme de document.

enctype: "La valeur valeur manquante par défaut pour l'attribut enctype est ... l'état application/x-www-form-urlencoded."

method: "Les valeurs possibles (insensibles à la casse) sont 'get' (valeur par défaut) et 'post'."
action: pas de valeur par défaut, DTD le requiert
enctype: "La valeur par défaut de cet attribut est" application/x-www-form-urlencoded "."

<!ATTLIST FORM
  %attrs;                              -- %coreattrs, %i18n, %events --
  action      %URI;          #REQUIRED -- server-side form handler --
  method      (GET|POST)     GET       -- HTTP method used to submit the form--
  enctype     %ContentType;  "application/x-www-form-urlencoded"

method: "Cela peut être soit GET, soit POST, et par défaut, GET."
action: pas de phrase explicite, seulement dans la DTD
enctype: "La valeur par défaut est application/x-www-form-urlencoded."

<!ATTLIST FORM
        action %URL #IMPLIED  -- server-side form handler --
        method (%HTTP-Method) GET -- see HTTP specification --
        enctype %Content-Type; "application/x-www-form-urlencoded"

méthode: pas de phrase explicite, seulement dans la DTD
action: "L'URI d'action d'un formulaire par défaut est l'URI de base du document"
enctype: "Le codage par défaut pour tous les formulaires est` application/x-www-form-urlencoded '. "

<!ATTLIST FORM
        ACTION CDATA #IMPLIED
        METHOD (%HTTP-Method) GET
        ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
0
guest