当前位置:首页 > 技术分享 > 正文内容

提升ajax网络请求之 Nginx优化–数据压缩配置

admin11个月前 (09-06)技术分享1032

1、开始数据压缩配置的原因

后台返回前端大量的数据,如果不进行压缩,将导致网络堵塞、占用大量带宽。

2、开启Nginx数据压缩达到的目标

减少传输的数据量,节省带宽;从而达到降低费用。

Nginx数据压缩配置:

在Nginx的nginx.conf文件的http模块添加如下配置项

#gzip压缩功能配置

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/css text/xml image/gif image/jpeg image/png application/javascript image/x-ms-bmp application/pdf text/plain application/json application/xhtml+xml;
gzip_vary on;
gzip_disable "MSIE [1-6].";


配置项说明:

gzip : 决定是否开启gzip模块

param:on|off

example:gzip on;

gzip_buffers : 设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间

param1:int

param2:int(k) 后面单位是k

example: gzip_buffers 4 8k;

gzip_comp_level : 设置gzip压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大

param:1-9

example:gzip_com_level 6;

gzip_min_length : 当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩

param:int

example:gzip_min_length 1000;

gzip_http_version : 用于识别http协议的版本,早期的浏览器不支持gzip压缩,用户会看到乱码,所以为了支持前期版本加了此选项,目前此项基本可以忽略

param: 1.0|1.1

example:gzip_http_version 1.0

gzip_types: 设置需要压缩的MIME类型,非设置值不进行压缩

param:text/html|application/x-javascript|text/css|application/xml

example:gzip_types text/html;

gzip_proxied : Nginx做为反向代理的时候启用,

param:off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any

expample:gzip_proxied no-cache;

off – 关闭所有的代理结果数据压缩

expired – 启用压缩,如果header中包含”Expires”头信息

no-cache – 启用压缩,如果header中包含”Cache-Control:no-cache”头信息

no-store – 启用压缩,如果header中包含”Cache-Control:no-store”头信息

private – 启用压缩,如果header中包含”Cache-Control:private”头信息

no_last_modified – 启用压缩,如果header中包含”Last_Modified”头信息

no_etag – 启用压缩,如果header中包含“ETag”头信息

auth – 启用压缩,如果header中包含“Authorization”头信息

any – 无条件压缩所有结果数据

gzip_vary : 加上 http 头信息Vary: Accept-Encoding给后端代理服务器识别是否启用 gzip 压缩。

param:on|off

expample:gzip_vary on;

gzip_disable : 根据 “User-Agent” 头来关闭 Gzip,可用正则表达式。禁止哪些浏览器使用gzip ,建议不要配置

param:regex(正则表达式)

example:gzip_disable "MSIE [1-6].";

备注:对http/https返回的数据都进行了明显的压缩。

扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/542.html

分享给朋友:

相关文章

mysql update不支持set子查询更新 的解决办法

mysql update不支持set子查询更新 的解决办法

先看示例:SELECT uin,account,password,create_user_uin_tree FROM sys_user结果:表中的create_user_uin_tree标识该条记录由谁创建。创...

input search更改默认删除按钮的样式

改input输入框search属性下输入文字之后会在输入框最后出现一个默认样式的X不过这个样式不太好看想自定义怎么办呢方法一input[type="search"]::-webkit-search-cancel-butt...

遭遇国外ip抓取或攻击怎么办一招解决禁止海外IP访问

遭遇国外ip抓取或攻击怎么办一招解决禁止海外IP访问

究发现很多网站被攻击都是来自海外的肉鸡,所以禁掉海外IP访问网站也是不错的防护手段,而且国内网站几乎很少有国外用户访问,称之为大局域网也不为过。今天主机吧来教大家如何利用域名解析禁止掉海外IP访问网站。绝大多数域名解析服务商都是提供电信联通...

用CMD命令查询域名的DNS解析记录:A,NS,MX,CNAME,TXT

1、查询域名的A记录nslookup -qt=A bitefu.net当然查询A记录你直接用ping命令来ping域名也可以获得A记录。2、查询域名的NS记录nslookup -qt=NS bitefu.net3、查询域名的MX记录nslo...

【不忘初心】19041/19042/19043(20H1,20H2,21H1)告别繁琐 一键替换太阳谷图标 一键恢复原版图标 一键恢复文件夹预览

【不忘初心】19041/19042/19043(20H1,20H2,21H1)告别繁琐 一键替换太阳谷图标 一键恢复原版图标 一键恢复文件夹预览

一键替换太阳谷图标,一键恢复原版图标,注意是一键!!!  太阳谷图标确实很好看,很新颖 !论坛也有相关替换教程,有的需要改权限,有的需要PE下替换,有的还得重启,搞不好很容易翻车,有些小白同学只能望梅止渴,今天以上统统告...

[教程福利] Python 全网比较全面的资源

阿里 Python 应该算比较全面了,编辑完了差不多用了三个小时左右,如果对你有帮助,给个免费的热心吗,在这里谢谢了各位大佬。092-****实战课-畅销3年的Python分布式爬虫课程-原版提取https://www.aliyundriv...

发表评论

访客

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