有没有办法确定页面是否被压缩?

时间:2010-07-28 20:05:00

标签: php apache gzip

我正在编写一个脚本,可以确定页面是否被压缩,我一直在做一些研究,无法弄清楚如何确定页面是否被压缩。我假设压缩的页面会在标题中有一些东西说它是一个压缩文件。像Content-Type或其他东西。

感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

实际上是Content-encoding。根据压缩类型,压缩数据可能为gzip(或x-gzip),deflatecompress

引用wikipedia

  

HTTP / 1.1中的“内容编码”/“接受编码”和“传输编码”/“TE”标头允许客户端可选地接收压缩的HTTP响应和(不太常见)发送压缩的请求。 HTTP / 1.1(RFC 2616)的规范指定了三种压缩方法:“gzip”(RFC 1952;包含在gzip流中的内容),“deflate”(RFC 1950;包含在zlib格式的流中的内容),以及“压缩”(在RFC 2616第3.5节中解释为'由通用UNIX文件压缩程序产生的编码格式“compress”。这种格式是自适应Lempel-Ziv-Welch编码(LZW)。')。许多客户端库,浏览器和服务器平台(包括Apache和Microsoft IIS)都支持gzip。

答案 1 :(得分:0)

压缩页面将具有带压缩算法的Content-Encoding标头。

例如:

内容编码:gzip

答案 2 :(得分:-1)

接受gzip的http请求,然后分析收到的标头,并查找Content-Encoding:gzip

答案 3 :(得分:-1)

这是可以看到页面是否被压缩的网络浏览器。作为Web服务器,Apache在HTTP请求标头中找到Accept-Encoding: gzip,deflate。如果它存在,它会压缩PHP脚本的HTML响应并相应地进行压缩。

参考:http://www.websiteoptimization.com/speed/tweak/compress/