Когда форма HTML отправляется без указания метода, какой метод HTTP используется по умолчанию? ПОЛУЧИТЬ или ПОСТ?
Изменилось ли когда-либо это поведение между стандартами HTML?
Пожалуйста, приведите стандартный документ W3C, если это возможно.
Когда форма HTML отправляется без указания метода, какой метод HTTP используется по умолчанию? ПОЛУЧИТЬ или ПОСТ?
Изменилось ли когда-либо это поведение между стандартами HTML?
Пожалуйста, приведите стандартный документ W3C, если это возможно.
Ответы:
Это ПОЛУЧИТЬ.
Взгляните, W3C Superceded Рекомендация 17.3 Элемент FORM .
Выдержка:
<!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 --
>
Хорошо читать
Вот ссылка на W3C, в которой говорится, что GET используется по умолчанию.
Если не указано, по умолчанию используется GET. Я не вижу признаков того, что это поведение когда-либо было другим. И имеет смысл, что GET является значением по умолчанию, поскольку он указывает, что метод должен использоваться для действий без побочных эффектов.
http://www.faqs.org/faqs/www/cgi-faq/section-37.html
Цитаты из http://www.w3.org/TR/html401/interact/forms.html#h-17.3 :
method = get | post [CI]
Этот атрибут указывает, какой метод HTTP будет использоваться для отправки набора данных формы. Возможные (без учета регистра) значения: «get
» (по умолчанию) и «post
». См. Раздел по отправке формы для получения информации об использовании.Способ подачи 17.13.1 Формы
Атрибут методаFORM
элемента определяет метод HTTP , используемый для отправки формы в агент обработки. Этот атрибут может принимать два значения:
get: с помощью HTTP-метода «get» набор данных формы добавляется к URI, указанному атрибутом действия (со знаком вопроса («?») в качестве разделителя), и этот новый URI отправляется агенту обработки.
post: с помощью HTTP-метода «post» набор данных формы включается в тело формы и отправляется агенту обработки.
Метод «get» следует использовать, когда форма идемпотентна (то есть не вызывает побочных эффектов). Многие поиски в базе данных не имеют видимых побочных эффектов и делают идеальные приложения для метода «get».
В соответствии со стандартом W3C, который вы запрашиваете, по умолчанию должно быть GET.
(более полный ответ, также о действии и энтипе)
По умолчанию «method», «action» и «enctype» формы HTML, если они не указаны,
- это GET, текущий URL и, application/x-www-form-urlencoded
соответственно.
(Т.е. по умолчанию форма запрашивает текущую страницу с введенными параметрами.)
Это поведение никогда не менялось, кроме «действия» (в HTML 4 это требовалось). Цитирование:
method: « Отсутствующее значение по умолчанию для атрибута метода - это… состояние GET».
действие:
Действие элемента - это значение атрибута formaction элемента, если элемент является кнопкой Submit и имеет такой атрибут, или значение атрибута действия его владельца формы, если он есть, или пустая строка. <...> Если action - пустая строка, пусть action будет URL-адресом документа формы.
enctype: « Отсутствующее значение по умолчанию для атрибута enctype - это application/x-www-form-urlencoded
состояние.»
Метод: «Возможные (без учета регистра) значения:« get »(по умолчанию) и« post ».»
action: нет по умолчанию, DTD требует его
enctype: «Значением по умолчанию для этого атрибута является« 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"
Метод: «Это может быть либо GET или POST, и по умолчанию GET».
action: нет явного предложения, только в DTD
enctype: «По умолчанию применяется 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"
метод: нет явного предложения, только в
действии DTD : «URI действия формы по умолчанию - базовый URI документа»
enctype: «Кодировка по умолчанию для всех форм - application / x-www-form-urlencoded».
<!ATTLIST FORM
ACTION CDATA #IMPLIED
METHOD (%HTTP-Method) GET
ENCTYPE %Content-Type; "application/x-www-form-urlencoded"