当前位置: 首页>后端>正文

Gzip压缩

Gzip压缩

通过gzip相关指令可以配置Gzip压缩,对响应数据进行在线实时压缩。

相关配置参数说明:

  • gzip: on; # 开启或关闭gzip功能,默认为off

  • gzip_buffers: 16 8K; # 配置Gzip压缩文件时使用的缓存空间大小,语法结构为gzip_buffers number size;

    number表示需要向系统申请的缓存空间的个数;size表示指定每个缓存空间的大小,默认number*size=128K

  • gzip_comp_level: 9; # 压缩级别,压缩程度越高,压缩效率最低,最费时间

  • gzip_min_length:# 配置最小压缩的数据大小,如果响应页面的大小大于该值,才开启Gzip功能(一些小文件会导致压缩后的大小比原文件还大),默认为20,建议设置为1k(1024)

  • gzip_http_version:1.0; # 配置只有高于指定版本的HTTP协议才能开启Gzip,默认为1.1, 目前绝大多数浏览器都支持Gzip自解压,一般采用默认值即可

  • gzip_proxied:any; # 设置是否对被代理服务器返回的数据进行压缩,前提是后端服务器返回的响应头中包含有Via头,默认为off,可选值包含有

    off 关闭nginx对后端服务器返回结果进行Gzip压缩

    expired 当后端服务器响应头中包含有expired头时,对数据进行Gzip压缩

    no-cache 当后端服务器响应头中包含有Cache-Control且值为no-cache时,对数据进行Gzip压缩

    no-store 当后端服务器响应头中包含有Cache-Control且值为no-store时,对数据进行Gzip压缩

    private 当后端服务器响应头中包含有Cache-Control且值为private时,对数据进行Gzip压缩

    no_last_modified 当后端服务器响应头中不包含有Last-Modified时,对数据进行Gzip压缩

    no_etag 当后端服务器响应头中不包含有ETag时,对数据进行Gzip压缩

    auth 当后端服务器响应头中包含有标识HTTP授权Authorization时,对数据进行Gzip压缩

    any 无条件对数据进行压缩

  • gzip_vary: on; # 开启压缩标记,开启后在响应头部添加 Vary: Accept-Encoding,默认为off,

  • gzip_types: 默认为text/html, 可以 text/plain application/x-javascript text/css application/xml text/javascript; # 对指定类型的文档进行Gzip压缩

  • gzip_static:on; # 对于存在服务器上.gz作为后缀的文件,且客户端浏览器支持gzip压缩,就直接返回压缩后的数据,可选值

    on 开启

    off 关闭

    always 一直发送.gz文件,而不检查客户端浏览器是否支持Gzip压缩

示例

#将访问的文件压缩传输 (减少文件资源大小,提高传输速度)
#当访问内容以gif或jpg结尾的资源时
location ~ .*\.(gif|jpg)$ {
    gzip on; #开启
    gzip_http_version 1.1; #服务器传输版本
    gzip_comp_level 2; #压缩比,越高压缩越多,压缩越高可能会消耗服务器性能
    gzip_types   text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss image/jpeg image/gif image/png;     #压缩文件类型
    gzip_vary on;
    gzip_min_length 1024;
    root /www/app/web;     #对应目录(去该目录下寻找对应文件)
}

#直接访问已压缩文件
#当访问路径以download开头时,如www.baidu.com/download/test.img
#去/www/app/web目录下寻找test.img.gz文件,返回到前端时已是可以浏览的img文件
location ~ load^/download {
    gzip_static on #开启;
    tcp_nopush on;
    root /www/app/web;
}

https://zhhll.icu/2021/服务器/Nginx/12.Gzip压缩/

本文由mdnice多平台发布


https://www.xamrdz.com/backend/3tr1933827.html

相关文章: