什么是HTTP'方法'大写最佳实践?

Tre*_*nus 9 html browser forms rest http

我已经看到用全部大写和全小写字母编写的HTTP方法.例如,您是否有任何理由想要编写POST而不是post在表单元素的method属性中?

有些浏览器是否处理大写POSTGET不同于小写postget

Jul*_*hke 7

HTML5规范要求使用"获取"或"发布".

  • XHTML要求`<form>`的method属性为小写的"get"或"post".这似乎有悖常理,因为HTTP要求以大写形式发送方法,但我只是使用W3验证器进行检查,结果是如此.这可能是以小写形式引用HTTP方法的做法. (3认同)

Chr*_* K. 7

简短回答:在标签的属性中使用小写字母,因为标准只允许使用小写字母。method<form>

长答案:这稍微取决于 HTML 版本:

HTML5:标准明确规定小写 get映射到 HTTP 方法 GET,小写post映射到 HTTP 方法 POST [1]。这些是那里提到的唯一值,属性值区分大小写,枚举属性只允许标准中提到的值。HTML5 标准中的示例也使用小写字母。因此,如果您想遵循 HTML5 标准,请使用小写。在实践中,虽然在 HTML5 中使用大写字母不是问题,而且我最近看到更多使用大写字母。尽管如此,我看不出有任何理由认为这应该是一种好的做法,因为标准另有规定。

XHTML:使用小写。xhtml-strict 和 xhtml-transitional 的 DTD 只定义了小写getpost[2, 3]。这里更重要,因为使用大写会产生无效的XHTML 文档,在实践中会触发丑陋的浏览器错误(取决于 DTD、浏览器和 http 内容类型)。

HTML 4:在这些日子里,使用大写是常见的做法,但小写在实践中也很有效。这只是我的个人经验,我不打算查找 HTML 4 标准,因为它现在似乎无关紧要(而且从来没有人严格遵守它)。

W3Schools 也使用小写 [4]。

[1] https://www.w3.org/TR/html5/forms.html#attr-fs-method

[2] https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd第 695 行

[3] https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd第 888 行

[4] https://www.w3schools.com/tags/att_form_method.asp