美文网首页
Gzip压缩

Gzip压缩

作者: 墨线宝 | 来源:发表于2023-10-26 13:55 被阅读0次

    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多平台发布

    相关文章

      网友评论

          本文标题:Gzip压缩

          本文链接:https://www.haomeiwen.com/subject/sdgyidtx.html