ITPub博客

首页 > Linux操作系统 > Linux操作系统 > HttpGzipModule 网页压缩传输

HttpGzipModule 网页压缩传输

原创 Linux操作系统 作者:nginx_web 时间:2012-07-01 10:26:25 0 删除 编辑

网页压缩传输

   

 

    Nginx中与网页压缩的模块有两个一个是HttpGzipModule,而另一个是HttpGzipStaticModule。前者用于启用在文件传输过程中使用gzip压缩,而后者的作用是在将一个文件以压缩的方式传递到一个支持压缩功能的客户端之前,首先检查是否已经存在相应文件的以“.gz”结尾的的文件名格式,这样可以避免重复压缩浪费资源。

 

因此,对于Nginx的网页压缩传输在Nginx的配置是将分为分两种模式:一种是动态的,实时压缩输出(边压缩,边输出),而另一种则是静态的,找到同名文件的.gz格式文件就输出。

 

    我们先来看第一个模块HttpGzipModul

 

HttpGzipModule

 

    该模块启用在文件传输过程中使用gzip压缩,压缩率通过变量$gzip_ratio来设定。

 

配置示例

   

  gzip             on;

  gzip_min_length  1000;

  gzip_proxied     expired no-cache no-store private auth;

  gzip_types       text/plain application/xml;

  gzip_disable     "MSIE [1-6]\.";

 

   

 

    ....//无法上传,故略

 

 

使用实例

 

添加配置

 

    在原有的配置区段中添加以下配置:

 

  gzip             on;

  gzip_types       text/plain application/xml;

   

访问测试

 

    看一下我们要访问的网页(注意它的大小)

 

[root@mfsmaster html]# ll

-rw-r--r--  1 root root 12376  8 19 08:22 index.html

   

在添加以上配置后,先不要重新启动或者重新载入配置文件,然后访问该网页,用协议分析软件分析响应包:

 

   

 

    注意,在这里没有使用“Accept-encoding: gzip”,而是返回“Accept-Ranges: bytes”表示支持断点续传,同时注意它的Content-Length12376,看下面的截图:

 

   

 

    在这个截图中,我们计算一下传输的字节:1260*9+1036=12376

 

然后重新载入Nginx的配置,再次进行访问,注意要访问同一页面(记得清除缓存),同样分析响应包:

 

   

 

    注意图中圈起的部分,这是服务器的返回信息,说明我们这次使用的是压缩传输,即“Content-Encoding: gzip”;另外,要注意这里的“二进制数据 1019字节”这已经是我们传输的数据了。

 

   

 

    在这个截图中传输的字节数为:1260*2+785+1019=4324。比‘.gz’格式多292个字节,后面会讲到‘.gz’格式的传输。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27043155/viewspace-734231/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Nginx 重写URI
请登录后发表评论 登录
全部评论

注册时间:2012-06-06

  • 博文量
    54
  • 访问量
    409482