在几个解释“如何设置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的所有内容类型的确切列表?
答案 0 :(得分:2)
您想要gzip的文件类型没有确切的列表。任何可读为纯文本的文件类型(即非二进制文件)都可以被gzip压缩,因此“权威”列表将是庞大的。因此,它最终取决于您实际所服务的文件类型,您可以通过HTTP Content-Type
标头检查任何给定文件。
如果您想要更加确定地覆盖特定扩展程序的所有可能的MIME类型(我认为这是合理的),查看this SO post,this text file包含一个非常详尽的详尽列表。< / p>
重要的是要注意某些二进制文件类型,如.png
和.pdf
(偶数.woff
)将压缩合并到格式本身,因此不应该进行gzip压缩(因为这样做可能会生成一个大于原始的压缩文件)。我的经验法则是:如果我的代码编辑器无法将文件读取为UTF-8文本,那么对文件进行gzipping将不是明智的(或者至少它不会非常有效)。
FWIW,我通常在我的网站上gzip以下格式(在我的Apache .htaccess
中):
<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>