我需要修改golang服务器以读取已编码的标头(以支持中文之类的非英语字符)。前端可能会使用此(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI)对特定的标头进行编码。 我们如何确定特定的标头是否已编码,如果是,则如何解码? 预先感谢
答案 0 :(得分:0)
HTTP中没有机制可以指示对哪些标头值进行编码以及如何进行编码。客户端和服务器必须在交换消息之前就此达成共识,否则您必须发明自己的传达信息的方法。
HTTP标头中的非ASCII值通常为MIME encoded (RFC 2047)。
百分比解码和MIME解码均返回未编码的值,因此您可以乐观地解码所有可能被 编码的值。
在Go中,mime package用于MIME编码/解码,而url package用于URL编码/解码。