【发布时间】:2015-09-29 08:36:09
【问题描述】:
我使用 HttpURLConnection 浏览到 HTTPS 图像链接。我尝试比较从输入流中读取的总字节数与 TLS 数据包中总应用程序数据大小的大小(使用 Wireshark 捕获)。显然,我从输入流中读取的大小大于 TLS 数据包中应用程序数据的总大小。 所以,我想知道数据是否被压缩在 TLS 数据包中。我试着做一些阅读,但仍然不太确定。
【问题讨论】:
我使用 HttpURLConnection 浏览到 HTTPS 图像链接。我尝试比较从输入流中读取的总字节数与 TLS 数据包中总应用程序数据大小的大小(使用 Wireshark 捕获)。显然,我从输入流中读取的大小大于 TLS 数据包中应用程序数据的总大小。 所以,我想知道数据是否被压缩在 TLS 数据包中。我试着做一些阅读,但仍然不太确定。
【问题讨论】:
虽然 TLS 可以压缩流量,但出于安全原因,它通常在堆栈中被禁用(请参阅BREACH attack 和类似内容)。更有可能是使用了 HTTP 内部的压缩(即Content-encoding)。也有可能您只是看的不正确,因为通常图像已经被压缩(至少是 PNG、GIF、JPEG 但不是 BMP),因此通常不会尝试进一步压缩或没有明显的效果。
【讨论】: