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

时间:2011-10-17 07:25:18

标签: html forms http rest browser

我见过用全部大写字母和全部小写字母编写的HTTP方法。您有什么理由想要在表单元素的method属性中编写POST而不是post,例如?

某些浏览器处理大写POSTGET的方式与小写postget不同吗?

3 个答案:

答案 0 :(得分:7)

HTML5规范要求使用“获取”或“发布”。

答案 1 :(得分:1)

无论您使用POST还是在表单的方法声明中发帖,您的网站都能正常运行。它更多地与您选择的doctype有关。如果您使用XHTML,一切都必须是小写的。如果你不这样做(例如使用HTML5),那么无关紧要,如果你愿意,甚至可以是PoSt。我个人仍然会选择小写版本,但选择权归您所有。无论你选择什么,重要的是......坚持在页面的其他部分。

答案 2 :(得分:1)

简短回答:在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