不是依赖服务器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:
这有可能吗?
答案 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。