HTTP 内容编码,base64
Posted
技术标签:
【中文标题】HTTP 内容编码,base64【英文标题】:HTTP content encoding, base64 【发布时间】:2012-10-27 06:48:28 【问题描述】:有没有办法知道 HTTP 响应的消息体是否使用 Base64 编码?
我了解到内容传输编码不是 HTTP 标头的一部分。
那么,哪个 HTTP 标头表明内容是使用 Base64 编码的?我认为内容编码仅用于压缩。
【问题讨论】:
我认为这个线程与您正在寻找的类似security.stackexchange.com/questions/3989/… 为什么还要用base64编码? 我是代理,想检查流量。我的整个意图是查看 HTTP 数据包,检查内容是否被编码。 Anant:所以答案是:HTTP 中没有特定于 base64 的内容 更具体地说:base64内容编码参数是not registered;您不必期望也不必实施它。如果不存在 Content-Encoding-header,您可以假设消息正文中的数据按原样传输。 【参考方案1】:据我了解,HTTP 正文可能未使用 Base64 编码:
HTTP 不使用 RFC 的 Content-Transfer-Encoding (CTE) 字段 2045. 从符合 MIME 的协议到 HTTP 的代理和网关必须 删除任何非身份 CTE(“quoted-printable”或“base64”)编码 在将响应消息传递给 HTTP 客户端之前。
身份:
默认(身份)编码;使用无转换 无论如何。
当然,您可以使用 HTTP 传输 Base64 编码的数据,但这应该是双方(客户端和服务器)同意的内容,并且似乎没有标题来描述这种行为。
【讨论】:
与旧的 HTTP 版本一样吗? Anant:是的,HTTP 中从来没有 base64 @Anant 您在问题下的评论中说您正在实施 HTTP 代理。如果你这样做,我想你会知道进入和绕过 HTTP 和相关 RFC 的方式。 HTTP/1.0 RFC 和 HTTP/1.1 RFC 中存在相同的文本。以上是关于HTTP 内容编码,base64的主要内容,如果未能解决你的问题,请参考以下文章
使用 Javascript 检索二进制文件内容,base64 对其进行编码并使用 Python 对其进行反向解码