手把手教你Nginx常用模块详解之ngx_http_gzip_module(四)

简介: 手把手教你Nginx常用模块详解之ngx_http_gzip_module(四)

本专栏非常感谢大家得关注和支持,本人开源项目站点https://erosbt.com 将自己热爱与信仰的技术,持续不辍地传递。


Nginx专栏



一. 指令


ngx_http_gzip_module

该ngx_http_gzip_module模块是使用“gzip”方法压缩响应的过滤器。这通常有助于将传输数据的大小减少一半甚至更多。


二. 用法


句法: gzip 开启 , 关闭
默认: gzip off;
语境: http,服务器,位置,如果在指定位置

启用或禁用回应的gzip。

句法: gzip_buffers数字大小;
默认: gzip_buffers 32 4k & 16 8k;
语境: http,服务器,位置

注:&代替|

设置number和size用于压缩的响应缓冲区。默认情况下,缓冲区大小等于一个内存页面。这是4K或8K,取决于平台。

在版本0.7.28之前,默认使用4个4K或8K缓冲区。

句法: gzip_comp_level level;
默认: gzip_comp_level 1;
语境: http,服务器,位置

设置level响应的gzip压缩。可接受的值在1到9的范围内。

句法: gzip_disable正则表达式…;
默认:
语境: http,服务器,位置

禁用具有与任何指定正则表达式匹配的“用户代理”标题字段的请求响应的gzip。


特殊掩码“ msie6”(0.7.12)对应于正则表达式“ MSIE [4-6].”,但工作更快。从版本0.8.11开始,“ MSIE 6.0; … SV1”将从此掩码中排除。

句法: gzip_min_length长度;
默认: gzip_min_length 20;
语境: http,服务器,位置

设置将被压缩的响应的最小长度。该长度仅由“Content-Length”响应标题字段确定。

句法: gzip_http_version 1.0 , 1.1;
默认: gzip_http_version 1.1;
语境: http,服务器,位置

设置压缩响应所需的最小HTTP请求版本。

句法: gzip_proxied off & expired & no-cache & no-store & private & no_last_modified & no_etag & auth & any …;
默认: gzip_proxied off;
语境: http,服务器,位置

注:&代替|

取决于请求和响应,启用或禁用针对代理请求的响应gzip。请求被代理的事实取决于“Via”请求头字段的存在。该指令接受多个参数:

  • off禁用所有代理请求的压缩,忽略其他参数;
  • expired如果响应标题包含“Expires”字段并且其值为禁用缓存,则启用压缩;
  • no-cache如果响应头包含带有“ no-cache”参数的“Cache-Control”字段,则启用压缩;
  • no-store如果响应头包含带有“ no-store”参数的“Cache-Control”字段,则启用压缩;
  • private如果响应头包含带有“ private”参数的“Cache-Control”字段,则启用压缩;
  • no_last_modified如果响应头不包含“Last-Modified”字段,则启用压缩;
  • no_etag如果响应头不包含“ETag”字段,则启用压缩;auth如果请求标题包含“授权”字段,则启用压缩; any为所有代理请求启用压缩。
句法: gzip_types mime-type …;
默认: gzip_types text / html;
语境: http,服务器,位置

除了“ text/html” 之外,还可以针对指定的MIME类型启用gzip的响应。特殊值“ *”匹配任何MIME类型(0.8.29)。“ text/html”类型的响应总是被压缩。

句法: gzip_vary开启&关闭;
默认: gzip_vary关闭;
语境: http,服务器,位置

注:&代替|

如果指令gzip,gzip_static或gunzip处于活动状态,则启用或禁用插入“Vary:Accept-Encoding”响应标头字段。

嵌入式变量

$gzip_ratio实现压缩比率,计算为原始压缩响应大小与压缩响应大小之间的比率。


三. 示例


gzip            on;
gzip_min_length 1000;
gzip_proxied    expired no-cache no-store private auth;
gzip_types      text/plain application/xml;

以上更多详解请大家关注nginx官方网站https://nginx.org/en/docs/


    以上就是我们今天的教程,如果本文对你有所帮助,欢迎关注点赞,分享给您身边的朋友。您的鼓励就是对我的最大动力。

相关文章
|
27天前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
64 7
|
4月前
|
负载均衡 应用服务中间件 API
Nginx:location配置模块的用法(一)
Nginx:location配置模块的用法(一)
543 2
|
2月前
|
缓存 JavaScript 安全
nodejs里面的http模块介绍和使用
综上所述,Node.js的http模块是构建Web服务的基础,其灵活性和强大功能,结合Node.js异步非阻塞的特点,为现代Web应用开发提供了坚实的基础。
117 62
|
2月前
|
应用服务中间件 nginx C++
nginx的cgi模块
nginx的cgi模块
41 0
|
2月前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
22 0
|
2月前
|
移动开发 网络协议 C语言
详解 httptools 模块,一个 HTTP 解析器
详解 httptools 模块,一个 HTTP 解析器
38 0
|
4月前
|
缓存 应用服务中间件 nginx
安装nginx-http-flv-module模块
本文介绍如何为Nginx安装`nginx-http-flv-module`模块。此模块基于`nginx-rtmp-module`二次开发,不仅具备原模块的所有功能,还支持HTTP-FLV播放、GOP缓存、虚拟主机等功能。安装步骤包括:确认Nginx版本、下载相应版本的Nginx与模块源码、重新编译Nginx并加入新模块、验证模块安装成功。特别注意,此模块已包含`nginx-rtmp-module`功能,无需重复编译安装。
208 1
|
4月前
|
JSON API 数据格式
Python网络编程:HTTP请求(requests模块)
在现代编程中,HTTP请求几乎无处不在。无论是数据抓取、API调用还是与远程服务器进行交互,HTTP请求都是不可或缺的一部分。在Python中,requests模块被广泛认为是发送HTTP请求的最简便和强大的工具之一。本文将详细介绍requests模块的功能,并通过一个综合示例展示其应用。
|
4月前
|
负载均衡 应用服务中间件 Linux
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
|
4月前
|
缓存 应用服务中间件 API
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
60 3