在未指定方法的情况下提交HTML表单时,使用的默认HTTP方法是什么? GET还是POST?
这种行为是否曾在HTML标准之间发生变化?
如果可能,请引用W3C标准文件。
答案 0 :(得分:157)
这是GET。
看看here。
摘录:
<!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 --
>
好读
答案 1 :(得分:13)
Here是W3C引用,它表示GET是默认值。
答案 2 :(得分:8)
如果未指定,则默认为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的引文:
方法=获取|发布 [CI]
此属性指定将使用哪种HTTP方法提交表单数据集。 可能的(不区分大小写)值为“get
”(默认值)和“post
”。 有关使用信息,请参阅表单提交部分。17.13.1表格提交方法
FORM
元素的method属性指定HTTP方法 用于将表单发送给处理代理。此属性可能包含两个值:
get:使用HTTP“get”方法,将表单数据集附加到action属性指定的URI(带有问号(“?”)作为分隔符),并发送此新URI到加工代理商。
post:使用HTTP“post”方法,表单数据集包含在表单正文中并发送给处理代理程序。
当表单是幂等的时,应该使用“get”方法 (即,不会产生副作用)。 许多数据库搜索没有明显的副作用 并为“获取”方法提供理想的应用程序。
答案 3 :(得分:5)
根据您要求的The W3C standard,默认值应为GET。
答案 4 :(得分:0)
(完整的答案,也涉及动作和编码)
HTML表单的默认“方法”,“操作”和“编码类型”(如果未指定)是
GET,当前URL和application/x-www-form-urlencoded
。
(即,默认情况下,表单会使用输入的参数来请求当前页面。)
除了“动作”(在HTML 4中是必需的)之外,此行为从未改变。引用:
方法:“方法属性的默认缺失值为... GET状态。”
动作:
如果元素是“提交按钮”并且具有这样的属性,则元素的动作是元素的formaction属性的值;如果元素是一个,则是其表单所有者的动作属性的值,否则为空字符串。 <...>如果 action 是空字符串,则将 action 设为表单文档的文档URL。
enctype:“ enctype属性的默认缺失值为……application/x-www-form-urlencoded
状态。”
方法:“可能的(不区分大小写)值是'get'(默认值)和'post'。”
行动:没有默认设置,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。”
行动:没有明确的句子,只有在DTD中
编码类型:“默认为 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"