HTTP 方法名称:大写还是小写?

问题描述 投票:0回答:3

这可能是一个自我回答的问题,但我希望你们中的一个人可以向我指出声明或可以推断的任何资源,在 HTTP 中声明 HTTP 方法名称时是否使用大写或小写字母或 REST 请求。我看到的大多数示例都将 GET、PUT、POST、DELETE、PATCH 等大写字母,而我继续假设 HTTP 方法字段名称不区分大小写 - 也就是说,例如,“get”同样有效作为“获取”。传统上,我一直使用大写字母,但我想确定一下。

W3C明确声明该方法区分大小写并使用大写,但在我的努力中,我经常遇到使用小写的HTTP方法字段值,我认为这是不正确的,所以从我的角度来看,看来实践和标准在这个问题上有些脱节。

大写是正确的 - 对吧?

rest http http-method
3个回答
32
投票
方法名称区分大小写,所有注册的方法均为大写。

(W3C 在这里并不重要;相关的是 RFC 7230 和 7231)。

https://www.rfc-editor.org/rfc/rfc7231#section-4.1


1
投票
是的,正如“Julian Reschk”所说,按照惯例,它应该是大写。

如果您直接使用 Django、Flask 或 Express(节点)等服务器,那么您的小写方法名称将自动转换为大写。 前端

后端 <--->

但是如果中间有代理,那么就会出现像 nginx 这样的问题,然后你会得到一个错误,而且 AWS、GCP、Azure 等云平台上的大多数服务在幕后使用 nginx。您可能会遇到这个问题。


0
投票

<form method="post">

 中的“HTTP 方法字段值”很可能是小写。事实上,在 XHTML 中它们必须是小写。在 HTML5 中,文档中的示例均为小写,但值定义为不区分大小写。

但是,这些 (X)HTML 字段值映射到仅定义为大写的 HTTP 方法。因此

<form method="get">

 将导致浏览器发出 HTTP 
GET
 请求。

© www.soinside.com 2019 - 2024. All rights reserved.