Nginx之gzip网页内容的压缩编码与传输速度优化 缓存设置提高网站性能
一).gzip使用
1.案例分析
以news.163.com为例
请求:Accept-Encoding:gzip,deflate,sdch
响应:Content-Encoding:gzip
Content-Length:36093
再把页面另存下来,观察,约10W字节,实际传输的36093字节
原理:浏览器请求---->声明可以接受gzip压缩或者deflate压缩或者compress或者sdch压缩,从http协议的角度看请求头 声明acceopt-encoding:gzip deflate sdch(回执压缩算法,其中sdch是google倡导的一种压缩方式,目前支持的服务器商不多)服务器---->回应(把内容用gzip方式压缩)---->发送给浏览器
浏览 -----> 解码gzip -----> 接收gzip压缩内容
###gzip配置可放在http、server、location### gzip配置的常用参数 gzip on|off #是否开启gzip gzip_buffers 32 4K | 16 8K #缓冲(压缩在内存中缓冲几块?每块多大?) gzip_comp_level [1-9] #推荐6压缩级别(级别越高,压得越小,越浪费CPU计算资源) gzip_disable #正则匹配UA(什么样的URI不进行gzip) gzip_min_length 200 #开始压缩的最小长度(再小就不用压缩了) gzip_http_version 1.0|1.1 #开始压缩的http协议版本(可以不设置,目前几乎全是1.1协议) gzip_proxied #设置请求者代理服务器,该如何缓存内容(参数看官网文档) gzip_types text/plain #对哪些类型文件用压缩 如TXT、xml、html、css gzip_vary on|off #是否传输gzip压缩标志
3.注意事项
图片、mp3这样的二进制文件不必压缩,因为压缩率比较小,比如100->80字节,而且压缩也是耗费CPU资源,另比较小的文件也不必压缩。
二).缓存设置
1.案例分析
2.实操配置
###expires设置缓存过期时间,可放在location、if### 格式:expires 30s; expires 30m; expires 2h; expires 30d; (注意:服务器的日期要准确,如果服务器的日期落后于实际日期,可能导致缓存失效)
版权声明:本文由“憨小猪”发布,如需转载请注明出处。