本文先从自己测试的例子开始演示,让大家看看优化的效果,然后再介绍gizp的概念等

一. 测试案例

第一张图片是没有开启gzip的效果,加载js文件3.6m花了3.11s
第二张图片是开启gzip的效果,加载同一个js文件大小被压缩成了1.2m,花了1.84s

所以明显可以看出来文件压缩的效果还是很好的,大大的缩减了http资源请求的时间

图片描述

图片描述

二. gzip是什么?

  1. 网页压缩即gzip

    网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE、FireFox、Opera 等;服务器有 Apache 和 IIS 等。双方的协商过程如下:  
      
    首先浏览器请求某个 URL 地址,并在请求的头 (head) 中设置属性 accept-encoding 值为 gzip, deflate,表明浏览器支持 gzip 和 deflate 这两种压缩方式(事实上 deflate 也是使用 gzip 压缩协议,下面我们会介绍二者之间的区别);

    WEB 服务器接收到请求后判断浏览器是否支持压缩,如果支持就传送压缩后的响应内容,否则传送不经过压缩的内容;
    浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显示响应页面的内容。

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

  2. 配置启用gzip

    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    #gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss image/jpeg image/gif image/png image/svg+xml;
    gzip_vary off;
    gzip_proxied expired no-cache no-store private auth;
    gzip_disable "MSIE [1-6].";


....排版还不太会....
参考链接


webgiser
27 声望1 粉丝

vv