对网站访问速度优化,用到了一个老外写的DC.Web.HttpCompress压缩模块,但是悲催的是在百度上找的全是原作者的老版本,而且有各种问题,我这个人一向爱刨根问底,我觉得热爱技术的人都应该是这样吧。于是我直接google找到了作者的最新版本,虽说是最新版本但也是2008年的了,不过这个版本跟以前版本的实现方式有所变化,而且我个人比较喜欢这个方式。仔细拜读了作者的源码后发现了两个Bug,修复之,又添加了文件缓存的功能。
使用方式:
1.将我上传的文件里的DC.Web.HttpCompress.dll上传到你的网站bin目录下。
优点:开放源代码,强大的自定义功能,能压缩多种资源,能完美支持各种ajax框架!
缺点:使用复杂,仅支持asp.net2.0或以上版本!
综上所述,各种压缩模块都能达到优化页面的作用,但由于压缩的过程是发生在服务器一端,所以启用这些压缩会消耗一点点服务器资源,不过一般来说压缩只发生 在客户端第一次访问页面的时候,因为之后浏览器本身cache了页面及资源的关系,再次刷新访问的时候就不会再占用服务器资源进行压缩了,所以对于网站页 面体积庞大的开发者来说,启用压缩功能绝对是物有所值的,毕竟页面体积更小,加载就会更快!
2.如下增加及修改项目的web.config
<configSections>
<sectionGroup name="DCWeb">
<section name="HttpCompress" type="DC.Web.HttpCompress.Configuration, DC.Web.HttpCompress"/>
</sectionGroup>
</configSections>
<DCWeb>
<HttpCompress compressionType="GZip">
<IncludedMimeTypes>
<add mime="text/html"/>
</IncludedMimeTypes>
</HttpCompress>
</DCWeb>
<system.web>
<httpHandlers>
<add verb="*" path="js.axd,css.axd" type="DC.Web.HttpCompress.CompressionHandler,DC.Web.HttpCompress"/>
<!-- 将想要缓存的图像类型填入path,逗号分隔,例如 *.gif,*.png -->
<add verb="*" path="*.gif" type="DC.Web.HttpCompress.ImageHandler,DC.Web.HttpCompress"/>
</httpHandlers>
<httpModules>
<add name="HttpCompressModule" type="DC.Web.HttpCompress.HttpModule,DC.Web.HttpCompress"/>
</httpModules>
</system.web>
3.这样你的aspx,js,css都会被压缩且被缓存,添加到配置的图像也会被缓存。
4.运行效果对比
更新日志
2011.12.19
修复 由++或--引起的js脚本压缩错误