nginx要为哪些内容类型启用压缩

nginx要为哪些内容类型启用压缩,nginx,compression,gzip,mime-types,content-type,Nginx,Compression,Gzip,Mime Types,Content Type,在几个解释“如何设置gzip压缩”的nginx教程站点中,我看到了重复出现的MIME类型列表: gzip_类型text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript 然而,我立即发现这个列表并没有导致在Chromium中为JavaScript启用压缩。我不得不将application/javascript添加到列表中。这让

在几个解释“如何设置gzip压缩”的nginx教程站点中,我看到了重复出现的MIME类型列表:

gzip_类型text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript

然而,我立即发现这个列表并没有导致在Chromium中为JavaScript启用压缩。我不得不将
application/javascript
添加到列表中。这让我相信这个列表已经过时了


是否有我想要gzip的所有内容类型的最终列表?

没有您想要gzip的文件类型的最终列表。任何可读为纯文本的文件类型(即非二进制文件)都可以进行gzip压缩,因此“最终”列表将非常庞大。因此,它最终取决于您实际提供的文件类型,您可以通过HTTP
Content-Type
头来检查任何给定的文件

如果你想加倍确保你覆盖了某个特定扩展的所有可能的MIME类型(我认为这是合理的),看看,包含了一个非常详尽的列表

需要注意的是,一些二进制文件类型,如
.png
.pdf
(甚至
.woff
)将压缩合并到格式本身中,因此不应压缩(因为这样做会产生比原始文件大的压缩文件)。我的经验法则是:如果我的代码编辑器不能将文件读取为UTF-8文本,那么gzip文件将是不明智的(或者至少不会非常有效)

FWIW,我通常在我的站点上使用以下格式(在我的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>

AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript应用程序/javascript应用程序/x-javascript应用程序/json应用程序/xml图像/svg+xml