网页压缩传输
在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-Length为12376,看下面的截图:
在这个截图中,我们计算一下传输的字节: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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27043155/viewspace-734231/