Svi*_*ish 642 http http-headers
在博客文章中,我使用以下PHP来设置响应的内容类型:
header('content-type: application/json; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)
我刚刚对该帖子发表评论说content-type需要大写,Content-type.它是否正确?它似乎适用于所有小写的我,我假设HTTP标题不区分大小写.或者它只是工作,因为浏览器很好?
Ign*_*ams 853
标题名称不区分大小写.
从RFC 2616 - "超文本传输协议 - HTTP/1.1",第4.2节"消息头":
每个标题字段由一个名称后跟一个冒号(":")和字段值组成.字段名称区分的敏感.
更新RFC 7230未列出此部分RFC 2616的任何更改.
Lig*_*ica 224
根据RFC 2616,HTTP标头名称不区分大小写:
4.2:
每个标题字段由一个名称后跟一个冒号(":")和字段值组成.字段名称不区分大小写.
(字段值可能区分大小写,也可能不区分大小写.)
如果您信任主流浏览器遵守此规则,那么您已经完成了所有设置.
顺便说一句,不像大多数HTTP的,方法(动词)是区分大小写:
5.1.1方法
Method标记指示要对
Request-URI标识的资源执行的方法.该方法区分大小写.Run Code Online (Sandbox Code Playgroud)Method = "OPTIONS" ; Section 9.2 | "GET" ; Section 9.3 | "HEAD" ; Section 9.4 | "POST" ; Section 9.5 | "PUT" ; Section 9.6 | "DELETE" ; Section 9.7 | "TRACE" ; Section 9.8 | "CONNECT" ; Section 9.9 | extension-method extension-method = token
Afs*_*ani 31
tldr; HTTP/1.1和HTTP/2标头都不区分大小写.
根据RFC 7230(HTTP/1.1):
每个头字段由不区分大小写的字段名称后跟冒号(":"),可选的前导空格,字段值和可选的尾随空格组成.
https://tools.ietf.org/html/rfc7230#section-3.2
此外,RFC 7540(HTTP/2):
与HTTP/1.x中一样,标题字段名称是ASCII
字符串,以不区分大小写的方式进行比较.
https://tools.ietf.org/html/rfc7540#section-8.1.2
Rud*_* W. 14
header('Content-type: image/png')
没有使用PHP 5.5服务IE11,因为在图像流中显示为文本
header('Content-Type: image/png')
工作,如图像中出现的图像
唯一的区别是资本'T'.
Gid*_*Max 12
官方规定,标题不区分大小写,但是,通常的做法是将每个单词的第一个字母大写。
但是,由于这是常见的做法,某些程序(例如 IE)假定标头是大写的。
因此,虽然文档说不区分大小写,但糟糕的程序员基本上已经更改了文档。
小智 5
HTTP 的 RFC(如上所述)规定标头不区分大小写,但是您会发现对于某些浏览器(我在看您,IE),每个单词的大写往往是最好的:
Location: http://stackoverflow.com
Content-Type: text/plain
Run Code Online (Sandbox Code Playgroud)
对比
location: http://stackoverflow.com
content-type: text/plain
Run Code Online (Sandbox Code Playgroud)
这不是“HTTP”标准,而只是我们作为开发人员必须考虑的另一种浏览器怪癖。
| 归档时间: |
|
| 查看次数: |
177171 次 |
| 最近记录: |