【发布时间】:2025-12-27 17:10:21
【问题描述】:
在一篇博文中,我使用以下 PHP 设置响应的内容类型:
header('content-type: application/json; charset=utf-8');
我刚刚收到对该帖子的评论,说content-type 需要大写,Content-type。它是否正确?它似乎适用于所有小写字母,并且我认为 HTTP 标头不区分大小写。还是只是因为浏览器很好用?
【问题讨论】:
-
不区分大小写,但如果要修复大小写,则应为“Content-Type”。
-
FWIW,用 application/json 发送“charset”是没有意义的。没有这样的参数。
-
@JulianReschke - 这是错误的,字符集是 Content-Type 标头中的有效参数。见w3.org/International/articles/http-charset/index 和developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type
-
@NullUserException - 缺点(除了浪费的字节)是继续让人们对 charset 参数感到困惑。只需修复这些组件即可。
-
@JulianReschke 是正确的。 IANA application/json assignment 表示 charset 对于这种媒体类型没有意义。它什么也没做。请不要添加它,因为它会导致不必要的混乱。
标签: http http-headers