gzip文件作为html源码

时间:2012-03-18 20:22:45

标签: asp.net html optimization

不是依赖服务器gizip压缩css和js文件,gzip文件是一个好/坏的主意,将它们存储在服务器上并链接到html中的那些文件。

而不是

<script src="../Scripts/compiled.js"></script>

有这个:

<script src="../Scripts/compiled.js.gzip"></script>

和CSS一样吗?

我试过但它不起作用;文件似乎没有解压缩。我得到Resource interpreted as Stylesheet but transferred with MIME type application/x-gzip:这有可能吗?

1 个答案:

答案 0 :(得分:3)

您的Gzip文件应包含响应标头Content-Encoding: gzip,而Content-Type对于JavaScript文件应为text/javascript,对于CSS文件应为text/css

对我来说,遵循.htaccess规则确实有效:

AddEncoding x-gzip .gz

RewriteEngine On

RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]

<FilesMatch  \.js\.gz$>
    ForceType "text/javascript; charset=utf-8"
    Header set Cache-control: private
</FilesMatch>
可以使用

Header set Vary: Accept-Encoding代替Header set Cache-control: private,以防止将Gzip压缩版本返回给不支持Gzip压缩的用户代理。

.htaccess文件应放在包含js。

的目录中

Gzipped和nzzipped版本应并排放置(gzip压缩版本的文件名包含.gz postfix)。 Gzip编码版本透明地返回(如果.gz版本存在且浏览器支持Accept-encoding请求标头负责的Gzip),请求在其URL中未明确提及Gzip的常用文件。

P.S。啊,你正在使用ASP.net,因此它显然在IIS下运行。好吧,最新版本的IIS具有.htaccess - 类似功能,AFAIK。