问一个与 HTTP 标头是否区分大小写?相关的问题,如果 HTTP 方法区分大小写,那么大多数服务器对“get”或“post”与“GET”或“POST”做什么?
例如,Apache httpd 似乎返回“501 Method Not Implemented”来响应小写方法,这正是我所期望的。
method token 表示要对目标执行的请求方法 资源。请求方法区分大小写。
https://www.rfc-editor.org/rfc/rfc7230#section-3.1.1
方法令牌是区分大小写,因为它可能被用作访问的网关 基于对象的系统,方法名称区分大小写。
https://www.rfc-editor.org/rfc/rfc7231#section-4.1
有趣的是,虽然两个参考文献都说这个案例很重要, 没有人说应该使用什么情况。从第二个继续 参考:
按照惯例,标准化方法以 全大写 US-ASCII 定义 字母。
所以现在这里确实说的是大写,但它也说的是按照惯例。所以在纸面上, 看来你也可以使用所有较低的。实际上,似乎只是上层 已接受:
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>