Nginx作为静态资源web服务_gzip场景演示
1、Nginx压缩模块
(1)http_gzip_module
应用支持gzip压缩方式
(2)http_gzip_static_module
预读gzip功能
2、Nginx配置gzip图片
(1)gzip图片配置
参数解读:
gzip on – nginx是否开启gzip压缩功能;
gzip_min_length 1000 – nginx限制最小gzip压缩资源大小;
gzip_proxied – nginx作为反向代理时,允许gzip压缩请求或响应头里字段;
gzip_types – nginx允许gzip压缩的静态资源类型;
gzip_http_version 1.1 – nginx允许gzip压缩的HTTP请求版本;
gzip_comp_level – nginx允许压缩的级别,共9个等级,级别越高压缩率越大;
验证gzip图片配置是否生效:
Linux服务器上的资源为“88KB”:
浏览器请求的资源为“74.9KB”
关闭gzip配置:
浏览器请求的资源为“80.7KB”
(2)gzip文本配置
参数解读:
gzip on – nginx是否开启gzip压缩功能;
gzip_min_length 1000 – nginx限制最小gzip压缩资源大小;
gzip_proxied – nginx作为反向代理时,允许gzip压缩请求或响应头里字段;
gzip_types – nginx允许gzip压缩的静态资源类型;
gzip_http_version 1.1 – nginx允许gzip压缩的HTTP请求版本;
gzip_comp_level – nginx允许压缩的级别,共9个等级,级别越高压缩率越大;
验证gzip文本配置是否生效:
Linux服务器上的资源为“288KB”:
浏览器请求的资源为“8.1KB”:
关闭gzip配置:
浏览器请求的资源为“282KB”
(3)gzip_static读预压缩文件配置
参数解读:
gzip_static on – nginx是否开启预读gzip文件功能;
tcp_nopush on – nginx是否一次性发送整个文件,提高传输效率;
root /opt – nginx指定根目录;
验证gzip_static预读gzip文件功能配置是否生效:
Linux服务器上的资源通过gzip压缩为*.gz格式文件
Linux服务器上的压缩资源大小为4.0KB
浏览器请求的jpg资源为“74.8KB”:
浏览器请求的txt资源为“3.8KB”
关闭gzip配置:
浏览器请求的资源报错,因为关闭了预读gzip文件功能
3、gzip底层算法详解
gzip底层压缩算法(LZ77和Hufman编码),对文本压缩率比对image压缩率大
gzip压缩算法参考:
https://blog.csdn.net/hguisu/article/details/7795435