这是我的第一个问题,请原谅我糟糕的英语。
我正在研究如何提高页面速度,并且发现了有关 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;
我假设使用这些设置,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
当 userA 请求 index.html 文件时,Nginx 会即时压缩文件,但是如果 userB 请求相同的 index.html 文件,Nginx 会再次压缩文件还是从某个地方提供缓存/保存的版本?
是的 Nginx
index.htm
每次请求时都会压缩 l ,因为没有index.html.gz
文件。老实说,如今 gzip 的处理器密集度不是很高,并且动态 gzip 压缩(然后在浏览器中解压缩)通常是常态。这是网络浏览器非常擅长的事情。
因此,除非您获得大量流量,否则您可能不会注意到任何性能或 CPU 负载影响,因为对大多数 Web 文件进行动态 gzip 压缩。