我正在寻找这件事的历史。为什么我们通常将 HTTPPOST
或OPTIONS
操作全部大写?
答案1
RFC 1945(1996)说
5.1.1 方法
方法令牌指示要对请求 URI 标识的资源执行的方法。该方法区分大小写。
Method = "GET" ; Section 8.1
| "HEAD" ; Section 8.2
| "POST" ; Section 8.3
| extension-method
至于为什么,可能是早期协议(例如 telnet)的影响(RFC 854,1983)已经足够老了,大写被认为比忽略大小写更便携(并且可靠)。
RFC 1945 的一些内容不区分大小写,例如:
- 接入认证
HTTP 提供了简单的质询-响应认证机制,服务器可以使用该机制来质询客户端请求,客户端可以使用该机制来提供认证信息。它使用可扩展、不区分大小写的令牌来标识身份验证方案,后跟逗号分隔的属性值对列表,其中包含通过该方案实现身份验证所需的参数。
还有 http URL 本身:
“http” URL 的规范形式是通过将主机中的任何 UPALPHA 字符转换为其 LOALPHA 等效字符(主机名不区分大小写)获得的,如果端口为 80,则省略 [“:” port ],并将空的 abs_path 替换为“ /”。
答案2
这可能只是 RFC 中使用全部大写的操作定义的结果。对于其他(较旧的)协议,即使实际实现可能不区分大小写,RFC 中的操作描述也全部大写。
这可能是因为这使得它们在纯文本文档中脱颖而出,在这些文档中没有其他方式来强调特定术语(例如使用大胆的或者斜体)。