如果您向 Web 服务器发出 HTTP 请求,并且它返回类型为 image/jpeg 的响应,那么二进制数据实际上是如何编码的?它是通过网络的图像的原始字节级内容,还是它的某些基于字符的表示(例如 base64)?

最佳答案

编码传输的数据由 Content-Encoding HTTP 响应头指定(参见 HTTP 1.1 规范 RFC2616 部分 14.11 和 3.5)。如果存在,它可以是 gzipcompressdeflate 压缩数据(HTTP 1.1 中没有其他定义)。如果不是,则数据采用基于 Content-Type HTTP 响应 header (MIME 类型)的原始编码。 Content-EncodingAccept-Encoding HTTP请求头值和web服务器是否支持请求编码决定。

在您的情况下,如果 Content-Encoding HTTP 响应 header 不存在,则数据与文件内容完全相同。否则,将使用指定的编码对其进行压缩。例如:GZip 或 Deflate。

关于http - 当 Web 服务器返回 JPEG 图像(mime 类型图像/jpeg)时,它是如何编码的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12335546/

10-14 15:39
查看更多