新版網站
UrlRewriter偽靜態后gzip無法壓縮網頁
發布時間:2013/10/18   已被3937人閱讀    分享到:

<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://www.adrhaerth.com/news/87.html上海網站建設公司朗晟網絡編輯,轉發請注明來源及版權歸屬。
上一篇:沒有了 【關閉】
下一篇:朗晟網絡公司新版官方網站正式上線
色聚阁