如何在golang中解码编码的HTTP标头

时间:2019-02-25 14:04:42

标签: go http-headers

我需要修改golang服务器以读取已编码的标头(以支持中文之类的非英语字符)。前端可能会使用此(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI)对特定的标头进行编码。 我们如何确定特定的标头是否已编码,如果是,则如何解码? 预先感谢

1 个答案:

答案 0 :(得分:0)

HTTP中没有机制可以指示对哪些标头值进行编码以及如何进行编码。客户端和服务器必须在交换消息之前就此达成共识,否则您必须发明自己的传达信息的方法。

HTTP标头中的非ASCII值通常为MIME encoded (RFC 2047)

百分比解码和MIME解码均返回未编码的值,因此您可以乐观地解码所有可能被 编码的值。

在Go中,mime package用于MIME编码/解码,而url package用于URL编码/解码。