页面压缩 | 云防线技术博客

页面压缩

来源:本站原创 网站优化 超过围观 0条评论

网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE、FireFox、Opera、Chrome 等;通过查看HTTP头,我们可以快速判断使用的客户端浏览器是否支持接受gzip压缩。

若发送的HTTP头中出现以下信息,则表明你的浏览器支持接受相应的gzip压缩:

Accept-Encoding: gzip——支持mod_gzip;

Accept-Encoding: deflate——支持mod_deflate;

Accept-Encoding: gzip,deflate——同时支持mod_gzip 和mod_deflate。

双方的协商过程如下:

1. 首先浏览器请求某个 URL 地址,并在请求的头 (head) 中设置属性 accept-encoding 值为 gzip, deflate,表明浏览器支持 gzip 和 deflate 这两种压缩方式(事实上 deflate 也是使用 gzip 压缩协议,下面我们会介绍二者之间的区别);

2. WEB 服务器接收到请求后判断浏览器是否支持压缩,如果支持Web服务器就检查请求文件的后缀名;如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件; 如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。就传送压缩后的响应内容,否则传送不经过压缩的内容;

3. 浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显示响应页面的内容。

在实际的应用中我们发现压缩的比率往往在 3 到 10 倍,也就是本来 50k 大小的页面,采用压缩后实际传输的内容大小只有 5 至 15k 大小,这可以大大节省服务器的网络带宽,同时如果应用程序的响应足够快时,网站的速度瓶颈就转到了网络的传输速度上,因此内容压缩后就可以大大的提升页面的浏览速度。

在实际应用中,也并不需要对网站所有文件都进行压缩,只需要对静态文件进行压缩就可以了,包括js、css及html文件。对其他文件进行压缩并不 会对WEB性能有太多的改观,并且对网站开启GZIP功能是需要牺牲部分服务器性能的。对于FLASH文件来说开启GZIP压缩之后还会影响其效果。检查 网页是否进行GZIP压缩过,可以使用FireFox的YSlow插件来差看,如下图:

也可以通过下面的网站在线查看,http://gzip.zzbaike.com/,如下图:

版权信息:原创文章:云防线
本文标题:页面压缩
本文链接:http://blog.cloudfence.cn/?p=31转载请注明转自云防线
如果喜欢:点此订阅本站
上篇文章:
下篇文章: