Nginx启用GZIP压缩网页传输方法 川长思鸟来 2022-07-11 07:49 199阅读 0赞 # 原理: # 浏览器—请求—-> 声明可以接受 gzip压缩 或 deflate压缩 或compress 或 sdch压缩 从http协议的角度看–请求头 声明 acceopt-encoding: gzip deflate sdch (是指压缩算法,其中sdch是google倡导的一种压缩方式,目前支持的服务器尚不多) 服务器–>回应—把内容用gzip方式压缩—->发给浏览器 浏览<—–解码gzip—–接收gzip压缩内容—- # gzip配置的常用参数 # <table> <thead> <tr> <th align="center">参数</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center">gzip on/off</td> <td align="center">是否开启gzip</td> </tr> <tr> <td align="center">gzip_buffers 32 4K / 16 8K</td> <td align="center">缓冲(压缩在内存中缓冲几块? 每块多大?)</td> </tr> <tr> <td align="center">gzip_comp_level [1-9]</td> <td align="center">推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源)</td> </tr> <tr> <td align="center">gzip_disable</td> <td align="center">正则匹配UA 什么样的Uri不进行gzip</td> </tr> <tr> <td align="center">gzip_min_length 200</td> <td align="center">开始压缩的最小长度(再小就不要压缩了,意义不大)</td> </tr> <tr> <td align="center">gzip_http_version 1.0/1.1</td> <td align="center">开始压缩的http协议版本(可以不设置,目前几乎全是1.1协议)</td> </tr> <tr> <td align="center">gzip_proxied</td> <td align="center">设置请求者代理服务器,该如何缓存内容</td> </tr> <tr> <td align="center">gzip_types text/plain application/xml</td> <td align="center">对哪些类型的文件用压缩 如txt,xml,html ,css 文件类型查看<code>conf/mime.types</code>文件</td> </tr> <tr> <td align="center">gzip_vary on/off</td> <td align="center">是否传输gzip压缩标志</td> </tr> </tbody> </table> # 注意: # 图片/mp3这样的二进制文件,不必压缩 因为压缩率比较小, 比如100->80字节,而且压缩也是耗费CPU资源的. 比较小的文件不必压缩, # 例子: # server { listen 80; #监听端口 server_name localohst; #监听域名 gzip on; #开启gizip gzip_buffers 32 4K;#压缩在内存中缓冲32块 每块4K gzip_comp_level 6 ;#压缩级别 推荐6 gzip_min_length 4000;#开始压缩的最小长度4bit gzip_types text/css text/xml apploation/x-javascript;#只对CSS、XML、JS文件进行压缩。 默认压缩text/html 不需要指定,否则报错 location / { root /var/www/a.com; #根目录定位 index index.html; } }
还没有评论,来说两句吧...