一个HTTP请求可能有这样的Content-Type标题:
GET / HTTP/1.1
...
Content-Type: text/xml; charset=utf-8
...
Run Code Online (Sandbox Code Playgroud)
是否存在该charset组件是强制性的情况?万一,什么时候?
可能的Content-Type标题示例,不一定正确:
Content-Type: text/xml
Content-Type: charset=utf-8
Content-Type: text/xml; charset=utf8
Content-Type:
Run Code Online (Sandbox Code Playgroud)
标准信息:
编辑注意:似乎这个参考已经过时了,RFC 7231 现在是正确的版本,正如@RobbyCornelissen 所建议的那样。
标准对此说得很少(或者我可能看错了地方):https : //www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
14.17 内容类型
Content-Type entity-header 字段指示发送给接收者的实体主体的媒体类型,或者在 HEAD 方法的情况下,如果请求是 GET,则将发送的媒体类型。
Run Code Online (Sandbox Code Playgroud)Content-Type = "Content-Type" ":" media-type媒体类型在第 3.7 节中定义。该领域的一个例子是
Run Code Online (Sandbox Code Playgroud)Content-Type: text/html; charset=ISO-8859-4第 7.2.1 节提供了对识别实体媒体类型方法的进一步讨论。
参见RCF 7231,附录 B。 RFC 2616 的变化:
文本媒体类型的 ISO-8859-1 的默认字符集已被删除;现在默认值是媒体类型定义所说的。同样,ISO-8859-1 的特殊处理已从 Accept-Charset 标头字段中删除。(第 3.1.1.3 节和第 5.3.3 节)
所以它取决于给定媒体类型的默认字符集/编码。您可以使用 IANA查找媒体类型注册表,例如application/xml 媒体类型,它链接到RFC 7303 第 3 节:
一个 XML MIME 实体可能存在多达三个关于字符编码的不同信息源:一个字符集参数、一个 BOM(参见下面的第 3.3 节)和一个 XML 编码声明(参见 [XML] 的第 4.3.3 节)。确保这些来源之间的一致性需要实体作者和 MIME 代理(即打包、传输、交付和/或接收 MIME 实体的过程)之间的协调。
不带 BOM 的 UTF-8 被推荐用于所有 XML MIME 实体。
所以不,这不是强制性的,但如果省略,则取决于您如何检测它的特定媒体类型。
| 归档时间: |
|
| 查看次数: |
1464 次 |
| 最近记录: |