[英]Is the charset component mandatory in the HTTP content-type header?
HTTP
请求可能具有Content-Type
标头:
GET / HTTP/1.1
...
Content-Type: text/xml; charset=utf-8
...
在某些情况下必须强制使用charset
组件吗? 万一什么时候?
可能的Content-Type
标头示例,不一定正确:
Content-Type: text/xml
Content-Type: charset=utf-8
Content-Type: text/xml; charset=utf8
Content-Type:
标准信息:
编辑说明:看来此引用已过时,RFC 7231现在是正确的版本,如@RobbyCornelissen所建议。
标准对此几乎没有说什么(或者我看错了地方): https : //www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
14.17内容类型
Content-Type实体标头字段指示发送给接收方的实体主体的媒体类型,或者在HEAD方法的情况下,指示如果请求是GET则应发送的媒体类型。
Content-Type = "Content-Type" ":" media-type
媒体类型在第3.7节中定义。 该领域的一个例子是
Content-Type: text/html; charset=ISO-8859-4
在7.2.1节中将进一步讨论识别实体媒体类型的方法。
请参阅RCF 7231,附录B。对RFC 2616的更改 :
文本媒体类型的默认ISO-8859-1字符集已删除; 现在默认值是媒体类型定义所说的 。 同样,已从Accept-Charset标头字段中删除了对ISO-8859-1的特殊处理。 (第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实体的过程)之间进行协调。
建议对所有XML MIME实体使用不带BOM的UTF-8。
因此,不是强制性的,但如果省略,则取决于如何检测特定媒体类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.