gzip_min_length
设置将被gzip压缩的响应的最小长度。长度仅由"Content-Length"响应报头字段确定。
对于上游服务器返回不同的head来决定是不是要进行压缩,两种常见的一种off一种any
一般启用cache的话都是已经进行过压缩的所有可以规避一些细节
作为反向代理时,针对于上游服务器返回的头信息进行压缩。
expired-启用压缩,如果header头中包含"Expires"头信息
no-cache-启用压缩,如果header头中包含"Cache-Control:no-cache"头信息
no-store-启用压缩,如果header头中包含"Cache-Control:no-store"头信息
private-启用压缩,如果header头中包含"Cache-Control:private"头信息
no_last_modified-启用压缩,如果header头中不包含"Last-Modified"头信息
no_etag-启用压缩,如果header头中不包含"ETag"头信息
auth-启用压缩,如果header头中包含"Authorization"头信息
增加一个header,适配老的浏览器Vary:Accept-Encoding
哪些mime类型的文件进行压缩。
默认值:gzip_disable'msie6MSIE[4-6]\.MSIE6.0'
gzip_buffers324k;#设置缓冲区大小
gzip_comp_level5;#设置压缩等级1-9
gzip_disable'msie6MSIE[4-6]\.MSIE6.0';#禁止哪些浏览器不使用压缩
gzip_http_version1.1;#设置压缩所需要的最低的http版本。
gzip_min_length20;#设置响应的数据最小限制,在这个限制之后再回进行压缩
gzip_varyon;#增加一个header,适用于老的浏览器Vary:Accept-Encoding
gzip_proxiedany;#无条件启动压缩
#哪些mime类型的文件进行压缩
#gzip_typestext/plainapplication/x-javascripttext/cssapplication/xml;
text/xmlapplication/xmlapplication/atom+xmlapplication/rss+xmlapplication/xhtml+xmlimage/svg+xml
text/javascriptapplication/javascriptapplication/x-javascript
text/x-jsonapplication/jsonapplication/x-web-app-manifest+json
text/csstext/plaintext/x-component
font/opentypeapplication/x-font-ttfapplication/vnd.ms-fontobject
当启动了gzip,我们的请求到nginx服务器上,nginx就已经给我们生产了responseheard但是数据还没有生成,他也不知道具体数据有多大,因为nginx是异步响应式请求,他一步一步来的,他先把header准备好然后请求内容去压缩,最后将两块内容合并去压缩,最后发过来,也就是因为异步导致他不知道具体大小。
他是先将请求头返回然后数据在慢慢读。
----------------------------------响应体-------------------------------------------------

Content-Type:application/json#响应结果
Date:Mon,13Feb202309:13:19GMT
Transfer-Encoding:chunked#传输的格式这个对应的就是length,这个是他会发送一个一个的包,当最后一个包是0表示传输结束
------------------------------------请求头-----------------------------------------------
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/109.0.0.0Safari/537.36
https://www.fruan.com/post/configure--prefinx==/usr/local/nginx--with-http_gzip_static_module
使用的需要将本地的资源文件进行压缩,压缩成xxx.gz的文件
cp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.old2
mvnginx/usr/local/nginx/sbin/
最后将新编译的nginx启动程序复制到/usr/local/nginx/sbin下做好之前程序复制。
cp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.oid3
mv/tools/nginx-12.0/objs/nginx/usr/local/nginx/sbin/
load_module"/usr/local/nginx/modules/ngx_http_brotli_filter_module.so";
load_module"/usr/local/nginx/modules/ngx_http_brotli_static_module.so";
作用:指定进行压缩的文件最小的长度,如果小于这个值则不压缩。
load_module"/usr/local/nginx/modules/ngx_http_brotli_filter_module.so";
load_module"/usr/local/nginx/modules/ngx_http_brotli_static_module.so";
brotli_staticon;#是否开启预先压缩,开启之后就会.br的压缩包
brotli_comp_level6;#压缩等级
brotli_buffers168k;#缓冲区大小,已经启用
brotli_min_length20;#压缩时文件最小限制
#对哪些mime.types类型进行压缩
brotli_typestext/plaintext/csstext/javascriptapplication/javascripttext/xmlapplication/xmlapplication/xml+rssapplication/jsonimage/jpegimage/gifimage/png;
curl-H'Accept-Encding:br'-I192.168.101.128/index.html
[root@localhostsbin]#curl-HAccept-Encoding:br-Ihttp://192.168.101.128/static_page.html
Date:Fri,17Feb202308:11:05GMT
Last-Modified:Fri,17Feb202303:28:14GMT
[root@localhostsbin]#curl-Ihttp://192.168.101.128/static_page.html
Date:Fri,17Feb202308:11:54GMT
Last-Modified:Fri,17Feb202303:28:14GMT
ETag:W/"63eef44e-31"
以上就是Nginx请求压缩如何实现的详细内容,更多请关注主机测评网其它相关文章!
本文来源:国外服务器--Nginx请求压缩如何实现(nginxbrotli压缩)
本文地址:https://www.idcbaba.com/guowai/4530.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



