15、Nginx-网页压缩传输

作者 : 开心源码 本文共1546个字,预计阅读时间需要4分钟 发布时间: 2022-05-11 共106人阅读

1、gzip压缩技术

gzip(GNU-ZIP)是一种压缩技术,经过gzip压缩后,页面大小能变为原来的30%甚至更少,这样使用户访问的时候速度会快得多。gzip网页压缩的实现需要浏览器和服务器的支持。

gzip压缩的过程:

首先在服务器端压缩,而后传到浏览器端后解压,当浏览器支持gzip解压时,会在请求消息头中包含Accept-Encoding:gzip,这样Nginx就会向浏览器发送经过gzip后的内容,同时在响应消息头中加入Content-Encoding:gzip,这是gzip后的内容,告知浏览器要先解压才可以解析输出。

2、网页压缩传输配置

Nginx服务器为网页压缩专门提供了gzip板块,并且板块中的相关指令均能设置在http,server,location块中,实现服务器端按照指定的设置进行压缩,具体指令如下:

  • gzip:使用于开启或者关闭gzip板块;

  • gzip_buffers:设置系统获取几个单位的缓存使用于存储gzip的压缩结果数据流;

  • gzip_comp_level:gzip压缩比,压缩级别是1~9,1的压缩级别最低,9的压缩级别最高,压缩级别越高压缩率越大,压缩时间越长;

  • gzip_disable:对少量特定的User-Agent不用压缩功可以;

  • gzip_min_length:设置允许压缩的页面最小字节数,页面字节数从响应消息头的Content-Length中进行获取;

  • gzip_http_version:识别HTTP协议版本,其值能是1.1(默认值)或者1.0;

  • gzip_proxied:使用户设置启使用或者禁使用从代理商服务器上收到响应内容的gzip压缩功可以;

  • gzip_types:匹配MIME类型进行压缩,且无论能否指定,text/html类型总是会被压缩的;

  • gzip_vary:使用于在响应消息头中增加Vary,Accept-Encoding,使代理商服务器根据请求头中的Accept-Encoding识别能否启使用gzip压缩;

1、修改配置文件

15、Nginx-网页压缩传输

2、访问测试

15、Nginx-网页压缩传输

Content-Encoding为gzip类型,Content-Type为html,Transfer-Encoding为chunked表示内容长度不确定;

除了上述配置外,在实际开发 中还能具体配置压缩比,缓存大小,对于代理商能否采使用压缩等详细的设置:

  • gzip_buffers 4 16k; //按照原始数据大小以16KB为单位的4倍申请内存;

  • gzip_comp_level 4; //压缩等级;

  • gzip_disable “MSIE [1-6].”; //IE6时,不进行压缩,防止出现页面假死现象;

  • gzip_min_length 5k; //当响应内容大于5kb时进行压缩输出,且一般建议最小值设置为1kb,当小于1kb时,可可以会出现越压越大的问题;

  • gzip_http_version 1.0;

  • gzip_proxied any;

  • gzip_vary on;

gzip_proxied常使用参数:

  • any:无条件压缩所有响应数据;

  • off:关闭反向代理商的压缩;

  • expired:假如响应消息头包含Expires,启使用压缩;

  • no-cache:假如响应消息头包含Cache-Control:no-cache,启使用压缩;

  • no-store:假如响应消息头包含Cache-Control:no-store,启使用压缩;

  • private:假如响应消息头包含Cache-Control:private,启使用压缩;

  • no_last_modified:假如响应消息头中不包含Last-Modified,启使用压缩;

  • no_etag:假如响应消息头中不包含ETag,启使用压缩;

  • auth:假如响应消息头中包含Authorization头信息,启使用压缩;

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 15、Nginx-网页压缩传输

发表回复