Nginx 是否为每个请求压缩文件?(使用 gzip_on)

Shi*_*r G 9 nginx gzip

这是我的第一个问题,请原谅我糟糕的英语。

我正在研究如何提高我的页面速度,我发现了 nginx gzip 设置。

以下是我在 nginx.conf 中的 gzip 设置

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_comp_level 5;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/vnd.    ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon
gunzip on;
gzip_static on;
Run Code Online (Sandbox Code Playgroud)

我假设使用这些设置,nginx 将提供 .gz 压缩文件而不是原始文件(如果存在)。如果不是,nginx 会在用户请求时压缩它们。如果我错了,请纠正我,我在正确的轨道上吗?

我的问题是:Nginx 每次新用户请求时都会压缩原始文件吗?或者它是否提供这些压缩文件的缓存/保存版本?

示例:我的静态文件夹中有这些文件。

/static/css/main.css
/static/css/main.css.gz
/static/js/main.js
/static/js/main.js.gz
/static/html/index.html
Run Code Online (Sandbox Code Playgroud)

当用户 A 请求 index.html 文件时,Nginx 会即时压缩文件,但是如果用户 B 请求相同的 index.html 文件,Nginx 会再次压缩该文件还是会从某个地方提供缓存/保存的版本呢?

Bar*_*ard 6

是的,index.htm由于没有index.html.gz文件,每次请求时Nginx 都会压缩l 。

老实说,现在 gzip 不是非常密集的处理器,并且动态 gzip(然后在浏览器中解压缩)通常是常态。这是网络浏览器非常擅长的。

因此,除非您获得大量流量,否则您可能不会注意到大多数 Web 文件的动态 gzip 对性能或 CPU 负载的影响。