帮企业建设网站和维护,网站建设英文字体格式,做网站全包,公司网址一般是什么压缩服务器响应#xff0c;或为不支持压缩的客户端解压缩它们#xff0c;以提高传递速度并减少服务器开销。
压缩响应通常会显著减小传输数据的大小。但是#xff0c;由于压缩发生在运行时#xff0c;因此它也会增加相当大的处理开销#xff0c;从而对性能产生负面影响。…压缩服务器响应或为不支持压缩的客户端解压缩它们以提高传递速度并减少服务器开销。
压缩响应通常会显著减小传输数据的大小。但是由于压缩发生在运行时因此它也会增加相当大的处理开销从而对性能产生负面影响。NGINX 在向客户端发送响应之前执行压缩但不会“双重压缩”已压缩的响应例如由代理服务器压缩。
启用压缩
要启用压缩请在 on 参数中包含 gzip 指令。
gzip on;默认情况下NGINX 仅使用 MIME 类型 text/html 压缩响应。若要使用其他 MIME 类型压缩响应请包括 gzip_types 指令并列出其他类型。
gzip_types text/plain application/xml;若要指定要压缩的响应的最小长度请使用 gzip_min_length 指令。默认值为 20 字节此处调整为 1000
gzip_min_length 1000;默认情况下NGINX 不会压缩对代理请求来自代理服务器的请求的响应。请求来自代理服务器的事实取决于请求中 Via 是否存在标头字段。若要配置这些响应的压缩请使用 gzip_proxied 指令。该指令有许多参数指定 NGINX 应该压缩哪些类型的代理请求。例如仅压缩对不会缓存在代理服务器上的请求的响应是合理的。为此该 gzip_proxied 指令具有指示 NGINX 检查响应中的 Cache-Control 标头字段的参数如果值为 no-cache 、 no-store 或 private 则压缩响应。此外还必须包含 expired 参数以检查 Expires 标头字段的值。以下示例中设置了这些参数以及 auth 检查 Authorization 标头字段是否存在的参数授权响应特定于最终用户通常不会缓存
gzip_proxied no-cache no-store private expired auth;与大多数其他指令一样配置压缩的指令可以包含在 http 上下文或 server or location 配置块中.
gzip 压缩的整体配置可能如下所示.
server {gzip on;gzip_types text/plain application/xml;gzip_proxied no-cache no-store private expired auth;gzip_min_length 1000;...
}启用解压缩
某些客户端不支持使用 gzip 编码方法的响应。同时可能需要存储压缩数据或动态压缩响应并将其存储在缓存中。为了成功地为接受和不接受压缩数据的客户端提供服务NGINX 可以在将数据发送到后一种类型的客户端时动态解压缩数据。
若要启用运行时解压缩请使用 gunzip 指令。
location /storage/ {gunzip on;...
}可以在与指令相同的上下文中指定该 gunzip gzip 指令
server {gzip on;gzip_min_length 1000;gunzip on;...
}发送压缩文件
若要将文件的压缩版本而不是常规文件发送到客户端请将 gzip_static 指令设置为 on 在适当的上下文中.
location / {gzip_static on;
}在这种情况下为了处理对 /path/to/file 的请求NGINX 会尝试查找并发送文件 /path/to/file.gz。如果文件不存在或者客户端不支持 gzipNGINX 会发送文件的未压缩版本。
请注意该 gzip_static 指令不启用动态压缩。它仅使用由任何压缩工具预先压缩的文件。若要在运行时压缩内容而不仅仅是静态内容请使用该 gzip 指令。