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

时间:2011-09-27 09:46:17

标签: http protocols

HTTP标头是否仅限于US-ASCII字符集?

我可以在HTTP标头中使用unicode字符吗?

修改

我想这样做:

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

2 个答案:

答案 0 :(得分:18)

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

理论上,HTTP头字段值可以传输任何内容;棘手的部分是让所有各方(发送者,接收者和中间人)就编码达成一致。

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

答案 1 :(得分:-4)

Accept-Charset:iso-8859-5,unicode-1-1; q = 0.8

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html