我看到过 HTTP 方法以全大写或全小写字母的形式书写。例如,在表单元素的 method 属性中,为什么要写 POST
而不是 post
呢?
一些浏览器是否会对大小写不同的 POST
和 GET
进行不同的处理呢?
<form>
标签的method
属性值只能是"get"
或"post"
,且必须使用小写字母。这看起来很奇怪,因为HTTP规定方法必须使用大写字母发送,但我刚刚通过W3验证器检查过了确实如此。这可能就是HTTP方法使用小写字母的惯例来源。 - Mark Amerymethod
和formmethod
内容属性是枚举属性”...“并且枚举属性的值“必须是给定关键字之一的ASCII不区分大小写匹配”,这意味着“范围在U+0041到U+005A(即拉丁大写字母A到拉丁大写字母Z)中的字符和范围在U+0061到U+007A(即拉丁小写字母a到拉丁小写字母z)中对应的字符也被认为是匹配的”。因此,您可以编写POST
、post
、PoSt
、poST
等。它们都是有效的。只需选择一种样式,并始终使用它。 - Alex<form>
标签的method
属性中最好使用小写。get
映射到HTTP方法GET,小写的post
映射到HTTP方法POST [1]。然而,截至今日,枚举属性匹配不区分大小写 [2]。因此,你理论上可以使用任何大小写。我相信几年前情况是不同的,但这就是living standard的性质。HTML5标准中的示例使用小写。因此,如果你遵循HTML5标准,我建议你使用小写,即使实际上并不重要。
XHTML:使用小写。xhtml-strict和xhtml-transitional的DTD仅定义小写的get
和post
[3,4]。在这里,这更为重要,因为使用大写会产生一个无效的XHTML文档,可能会在实践中触发丑陋的浏览器错误(取决于DTD、浏览器和http content-type)。
HTML 4: 在那个时代,使用大写字母是常见做法,但小写字母在实践中也很有效。这只是我的个人经验,我不会查阅 HTML 4 标准,因为它似乎现在已经不相关了(而且也没有人严格遵循它)。