HTTP方法区分大小写吗?

时间:2018-05-05 16:41:59

标签: http http-method

要询问与Are HTTP headers case-sensitive?相关的问题,如果HTTP方法区分大小写,那么大多数服务器使用" get"或"发布" vs a" GET"或" POST"?

例如,它看起来像Apache httpd返回" 501方法未实现"响应小写方法,这是我所期望的。

2 个答案:

答案 0 :(得分:0)

大多数服务器将:

  • 将不区分大小写的方法信息转发给正在处理它的任何应用程序(例如 PHP)。
  • 如果他们自己处理请求,他们将返回一个 501

这对于 Apache 和 Nginx 来说是正确的,我相信它们已经是“最”的了。

答案 1 :(得分:-1)

<块引用>

method token 表示要在目标上执行的请求方法 资源。请求方法区分大小写

https://tools.ietf.org/html/rfc7230#section-3.1.1

<块引用>

方法令牌区分大小写,因为它可能用作 方法名称区分大小写的基于对象的系统。

https://tools.ietf.org/html/rfc7231#section-4.1

有趣的是,虽然两个参考文献都说案例很重要, 没有人说应该使用什么情况。从第二个继续 参考:

<块引用>

按照惯例,标准化方法以全大写 US-ASCII 格式定义 字母。

所以现在这里确实说大写,但它也说按照惯例。所以在纸上, 似乎你也可以使用 all lower。在实践中,似乎只有上 被接受:

PS C:\> curl.exe -X POST https://www.ietf.org
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="robots" content="NONE,NOARCHIVE">
  <title>403 Forbidden</title>
PS C:\> curl.exe -X post https://www.ietf.org
<html>
<head><title>400 Bad Request</title></head>