擅长:python、mysql、java
<blockquote>
<p>Is it not POSSIBLE or ALLOWED to send non-English string using HTTP Header?</p>
</blockquote>
<p>根据HTTP标准,不可能将非ISO-8859-1字符直接放在HTTP头中。这给了你ASCII(“英语”?)字符加上常见的西欧变音符号。</p>
<p>但是在实践中,您甚至不能使用扩展的ISO-8859-1字符,因为服务器和浏览器不同意如何处理头中的非ASCII字符。Safari采用RFC2616作为单词,并将高字节视为ISO-8859-1字符;Mozilla采用UTF-16代码单元低字节,这很相似,但更奇怪;Opera和Chrome从UTF-8解码;IE使用本地系统代码页。</p>
<p>所以在现实中,所有你可以放在一个HTTP头是没有控制代码的简单ASCII。如果你还想要什么,你就得想出一个编码方案(如UTF-8+base64)。RFC2616标准建议将RFC2047编码的单词作为一种标准的编码形式,但是考虑到RFC2047本身允许使用它们的定义,这是没有意义的,也没有任何东西支持它。</p>