正在加载...

上海朗晟网络
UrlRewriter伪静态后gzip无法压缩网页
发布时间:2013/10/18   已被5165人阅读

<configSections>
    <sectionGroup name="DCWeb">
      <section name="HttpCompress" type="DC.Web.HttpCompress.Configuration,
          DC.Web.HttpCompress"/>
    </sectionGroup>
</configSections>

<DCWeb>
    <HttpCompress  compressionType="GZip">
      <CacheSettings cacheFiles="true" path="cache"/>
      <PathSettings jsPath="java " cssPath="css" />
      <IncludedMimeTypes>
        <add mime="text/html" />
      </IncludedMimeTypes>
      <ExcludedPaths>
        <add path="~/NoCompress/Default.aspx" />
      </ExcludedPaths>
    </HttpCompress>
</DCWeb>


再在<system.web>节中加入:

<httpModules>
   <add name="HttpCompressModule" type="DC.Web.HttpCompress.HttpModule,DC.Web.HttpCompress"/>
</httpModules>

<httpHandlers>
   <add verb="*" path="js.axd,css.axd" type="DC.Web.HttpCompress.CompressionHandler,DC.Web.HttpCompress"/>
</httpHandlers>

下载完(DC.Web.HttpCompress.dll)把这个DLL文件加入项目并保存在BIN下

 

 

ASP.NET页面实时进行GZIP压缩优化

CompressionModule压缩模块的使用说明及性能测试!
一、使用
首先,将DC.Web.HttpCompress.dll放到网站项目的bin目录,再按如下增加及修改项目的web.config

   <configSections>
<sectionGroup name="DCWeb">
   <section name="HttpCompress" type="DC.Web.HttpCompress.Configuration,
      DC.Web.HttpCompress"/>
</sectionGroup>
   </configSections>

   <DCWeb>
<HttpCompress   compressionType="GZip">
<!--设定是否启用cachefiles功能,并指定cache目录,如果删掉这行配置的话就自动默认为false(不开启cache)-->
   <CacheSettings cacheFiles="true" path="cache"/>
<!--设定jspath及csspath,如果删除掉这行配置的话就会使用默认值-->
   <PathSettings jsPath="java " cssPath="css" />
<!--配置要压缩何种类型的资源,这里设定只压缩html,即只有aspx页面及*.axd资源会被压缩,其它的资源(如图片,CSS等)将不被压缩!例:如果要压缩gif,请添加<add mime="image/gif"/>,压缩jpg则添加<add mime="image/jpeg"/>-->
   <IncludedMimeTypes>
       <add mime="text/html" />
   </IncludedMimeTypes>
   <!--配置不压缩何种类型资源请使用:
   <ExcludedMimeTypes>
       <add mime="text/html" />
   </ExcludedMimeTypes>
   注意:ExcludedMimeTypes及IncludedMimeTypes只需要配置一个就可以,如果像上面那样配置ExcludeMimeTypes的话,则表明除html类型的资源外,其它资源都会被压缩-->
       <ExcludedPaths>
<!--设定不启用压缩的页面路径,下面设定了nocompress目录下的default.aspx页面将不会启用压缩功能,但其它页面则正常启用压缩-->
      <add path="~/NoCompress/Default.aspx" />
       </ExcludedPaths>
   </HttpCompress>
   </DCWeb>
 
   <!-- The js.axd and css.axd must be enabled to allow java and css
   compression -->
   <httpHandlers>
<!--如果不需要使用到此功能的话可删掉此配置节-->
<add verb="*" path="js.axd,css.axd"
       type="DC.Web.HttpCompress.CompressionHandler,DC.Web.HttpCompress"/>
   </httpHandlers>
   <!-- The compression module must be enabled for the WebResource.axd to be
   compressed -->
   <httpModules>
<add name=" Module" type="System.Web.Handlers. Module,
       System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
       PublicKeyToken=31bf3856ad364e35"/>
<!--设定启用压缩模块的参数-->
<add name="HttpCompressModule"
       type="DC.Web.HttpCompress.HttpModule,DC.Web.HttpCompress"/>
   </httpModules>
配置好后,压缩模块就可以正常工作了!

小提示:如果web.config配置了   
<CacheSettings cacheFiles="true" path="cache"/>
那么项目下就必须存在cache这个目录,否则的话会出错,如果项目不想增加这个目录,只需要将这个配置节删掉即可!

二、实际应用的性能测试
跟踪软件:fiddler2
本次测试使用本人开发的DotNetTextBox在线编辑器控件作为页面载体,共有两个一模一样的页面分别为compress.aspx(启用压缩)及nocompress.aspx(不启用压缩)

首先打开不启用压缩的nocompress.aspx并且查看页面体积如下图:


同时查看fiddler2看看实际接收的流量

通过上图可以看到,实际接收与查看属性的体积都是一样1372字节,并且fiddler2检测到页面是no compression

跟着我们打开启用压缩的compress.aspx并查看页面体积如下图(与nocompress.aspx页面体积基本一样,只有2字节的误差):


再看看fiddler2实际接收到的流量

压缩的效果终于看到了,fiddler2检测到实际接收到的流量只有934字节,并且右下角显示页面采用的是GZIP Encoding,压缩后的页面体积只有原来的3/4!!!

本文分享地址:http://m.cn7080.com/news/87.html
上海网站建设公司朗晟网络编辑,转发请注明来源及版权归属。

分享

上一篇:没有了
下一篇:朗晟网络公司新版官方网站正式上线