我正在使用高级REST客户端应用程序(Chrome插件)来使用HTTP标头执行身份验证,并且可以正常工作。
X-Username: member
X-Password: abc123
但是,当我尝试使用非英语用户名时
X-Username: 阿里巴巴
X-Password: abc123
我收到以下错误
Unable set request header: X-Username: 阿里巴巴
如果可能,如何设置请求标头以使用汉字?
根据RFC 7230(HTTP 1.1)规范:
从历史上看,HTTP允许字段内容带有ISO-8859-1字符集[ISO-8859-1]中的文本,仅通过使用[RFC2047]编码来支持其他字符集。实际上,大多数HTTP标头字段值仅使用US-ASCII字符集[USASCII]的子集。新定义的标头字段应将其字段值限制为US-ASCII八位位组。接收者应将字段内容(obs-text)中的其他八位字节视为不透明数据。
就是说,有一个用于凭证的标准HTTP标头,Authorization
一个。您可以使用基本身份验证,其内容将使用base64进行编码:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
之后Basic
的值是字符串的编码值username:password
。有关这种机制的更多详细信息,请参见以下链接:https : //en.wikipedia.org/wiki/Basic_access_authentication。
另请参阅此答案以获取更多详细信息:HTTP基本身份验证应使用哪种编码?。
希望对您有帮助,蒂埃里
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句