优化网页加载速度实践
我用YSlow分析了我的网页之后,发现它给我提供了一些建议,然后我照着这些建议逐个进行了下优化。我的网站是Asp.net写的,服务器是IIS,下面是我的具体实现方法:
1,Make fewer HTTP requests
通过bundle and minimize把多个js和css合成一个文件,优化效果显著,请求文件大小缩小70%,加载速度提高160%(均为约数)。
参考链接:http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification
2,Add Expires headers
对于那些不太改变的文件,设置其expire时间为一个比较久的未来。不过为了防止以后对它们进行修改以后还继续使用缓存的数据,可以在文件名后面加时间戳。
在web.config里面加下面设置
<staticContent>
<clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
</staticContent>
前面的时间就是一个比较晚的时间,加载response头上,标明缓存什么时候失效。
参考链接:https://developer.yahoo.com/performance/rules.html#expires
3,Configure entity tags (ETags)
这个的目的主要是为了取消使用ETag标志,关于ETag的一些内容在上一篇中已经写过,主要是在IIS里面设置URL Rewrite,那么在web.config里面的修改是
<system.webServer>
<rewrite>
<outboundRules>
<remove name="Set ETag" />
<rule name="Set ETag" enabled="true">
<match serverVariable="RESPONSE_ETag" pattern=".+" />
<conditions />
<action type="Rewrite" value=""/>
</rule>
</outboundRules>
</rewrite>
</system.webServer>