当前位置:首页 > 服务器运维 > nginx > Nginx之gzip网页内容的压缩编码与传输速度优化 缓存设置提高网站性能

Nginx之gzip网页内容的压缩编码与传输速度优化 缓存设置提高网站性能

DChen3年前 (2021-05-24)nginx1.44 K0
一).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压缩内容


2.实操配置具体看官方文档

###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、htmlcss
gzip_vary on|off              #是否传输gzip压缩标志


3.注意事项

    图片、mp3这样的二进制文件不必压缩,因为压缩率比较小,比如100->80字节,而且压缩也是耗费CPU资源,另比较小的文件也不必压缩。


二).缓存设置
1.案例分析
    对于网站的图片,尤其是新闻网站,图片一旦发布改动的可能性非常小,我们希望能否在用户访问一次后,图片缓存在用户的浏览器端,且时间比较长缓存。
2.实操配置
###expires设置缓存过期时间,可放在location、if###
格式:expires 30s;
     expires 30m;
     expires 2h;
     expires 30d;
(注意:服务器的日期要准确,如果服务器的日期落后于实际日期,可能导致缓存失效)


取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

版权声明:本文由“憨小猪”发布,如需转载请注明出处。

本文链接:https://www.phper.red/post/90.html

标签: linuxnginxgzip

相关文章

Nginx的日志管理3年前 (2021-05-24)

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。