Can I use Unicode characters in HTTP headers?

2019-01-18 22:59发布

Is HTTP headers limited to US-ASCII charset?

Can I use unicode characters in HTTP headers?

Edit:

I want to do like this:

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

2条回答
贼婆χ
2楼-- · 2019-01-18 23:34

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

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

查看更多
闹够了就滚
3楼-- · 2019-01-18 23:46

First of all, the header field in your example does not allow what you want; media type names are ASCII.

In theory, HTTP header field values can transport anything; the tricky part is to get all parties (sender, receiver, and intermediates) to agree on the encoding.

Thus, the safe way to do this is to stick to ASCII, and choose an encoding on top of that, such as the one defined in RFC 5987.

查看更多
登录 后发表回答