Nginx中启用gzip

Nginx gzip 压缩默认只针对 text/html,修改相关配置增加对jon格式的压缩支持。具体配置如下

    gzip on;
    gzip_min_length 1000;
    gzip_buffers 4 8k;
    gzip_types text/plain application/x-javascript text/css application/json application/xml text/javascript;

下面进行测试,修改nginx的默认html增加些显示的内容方便比较。


上图是使用gzip和注释后访问http://localhost:8000默认页面的比较。size就是传输的大小最下面一行状态栏可以看到

原始内容大小和传输的大小。该网页默认大概44k,gzip启用后传输只有3.8k,time也从4s缩小到307ms。

测试对于json的压缩 前后两次通过nginx访问http://localhost:8000/route,后台进行反向代理到具体rest服务。

可以发现状态栏实际大小大概是17.4kb(状态栏显示所有的请求因此比实际大一点。前面一张状态栏19.4,包含其他请求)实际传输启用gzip后传输2.9未压缩16.8.

另外也可以用curl来比较注释和启用gzip那部分请求有差别。

https://www.cnblogs.com/shangzekai/p/4685545.html

首先是浏览器---请求----> 声明可以接受 gzip压缩 或 deflate压缩 或compress 或 sdch压缩从http协议的角度看--请求头 声明 acceopt-encoding: gzip deflate sdch  (是指压缩算法,其中sdch是google倡导的一种压缩方式,目前支持的服务器尚不多)

然后服务器-->回应---把内容用gzip方式压缩---->发给浏览器最后浏览器<-----解码gzip-----接收gzip压缩内容----最终将内容展示到页面上

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  application/xml # 对哪些类型的文件用压缩 如txt,xml,html ,css
gzip_vary on|off  # 是否传输gzip压缩标志

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值