Nginx应该为哪些内容类型启用压缩?

3
在几个讲解“如何设置gzip压缩”的nginx教程网站中,我看到了这个MIME类型列表的重复: gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; 然而,我立刻发现这个列表并没有启用Chromium中JavaScript的压缩。我不得不将application/javascript添加到列表中。这使我相信这个列表已经过时。
是否有一个明确的列表包含所有我想要gzip压缩的内容类型?
1个回答

5
没有确定的文件类型清单需要进行gzip压缩。任何可读作纯文本的文件类型(即非二进制文件)都可以进行gzip压缩,因此“确定”的列表将是庞大的。因此,最终取决于您实际提供的文件类型,您可以通过HTTP Content-Type标头检查任何给定文件以获取该文件类型。
如果您想确保为特定扩展名涵盖所有可能的MIME类型(我认为这是合理的),那么请查看这个SO帖子这个文本文件包含了一个非常详尽的列表。
重要的是要注意,一些二进制文件类型(如.png.pdf,甚至.woff)将压缩嵌入到格式本身中,因此不应该对它们进行gzip压缩(因为这样做可能会生成比原始文件更大的压缩文件)。我的经验法则是:如果我的代码编辑器无法将文件读取为UTF-8文本,则对文件进行gzip压缩是不明智的(或者至少效率不高)。
顺便说一下,我通常在我的网站上使用以下格式(在我的Apache .htaccess中)进行gzip压缩:
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript application/javascript application/x-javascript application/json application/xml image/svg+xml
</IfModule>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接