HTTP 头部能否使用 Unicode 字符?

14

HTTP头部限制为US-ASCII字符集吗?

我可以在HTTP头部使用Unicode字符吗?

编辑:

我想做这样的事情:

WebClient myWebClient = new WebClient();
myWebClient.Headers.Add("Content-Type","یونیکد");

这是您正在寻找的吗?>> http://www.w3.org/International/O-HTTP-charset - JMax
可能是 HTTP协议使用哪种编码方式? 的重复问题。 - Thilo
由于该Content-Type与任何官方MIME类型都不匹配,因此没有标准软件可以使用它。您打算实现什么效果? - foo
2个回答

22

首先,在您的示例中,头字段不允许您想要的内容;媒体类型名称是ASCII。

理论上,HTTP头字段值可以传输任何内容;棘手的部分是确保所有参与方(发送方、接收方和中间人)都同意编码。

因此,安全的做法是坚持使用ASCII,并选择在其之上定义的编码,例如RFC 5987中定义的编码。


了解哪些常用的用户代理和代理服务器支持RFC 5987将非常有用。 - Piotr Dobrogost
1
Piotr:RFC 5987 只能用于头字段中的参数,而且只有发送方和接收方都同意使用它,例如在 Content-Disposition 的 filename 参数中。 - Julian Reschke

-7

7
这不是针对文件而非标题的吗? - mmmmmm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接