网站首页 > 技术教程 正文
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、修改配置文件
2、访问测试
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头信息,启用压缩;
猜你喜欢
- 2024-10-15 web网站性能优化:nginx开启GZIP压缩网页,JS,CSS
- 2024-10-15 nginx实现公告维护页面(nginx 状态信息)
- 2024-10-15 nginx配置维护页面(nginx界面配置管理)
- 2024-10-15 网页版 Nginx 配置文件生成器发布,在线一键生成
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)