亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > IIS > 正文

IIS啟用GZip壓縮后帶來的問題及解決辦法

2024-08-29 03:14:43
字體:
來源:轉載
供稿:網友
頁面文件比較大時,開啟GZip壓縮可以減少傳輸的流量,測試了一下效果非常明顯,看了電腦軟硬件應用網網友里面有些人使用了IIS的GZip壓縮功能,項目中也應用了該功能,使用的過程中遇到一個比較棘手的問題,找了挺久的一直搞不定。

     項目中在服務器端生成了Excel2007報表文件,文件在下載到本地后不能正常打開了,提示文件格式有問題,由于Excel2007文件格式的本質是一壓縮包,懷疑文件在下載的過程中被改動了,但是具體不知道在哪個環節上出了問題。
 
 
     猜想:
     1.因為Excel2007文件是在頁面Render的時候輸出的,并且輸出完后直接End請求,可以推斷IIS的壓縮機制,應該是在請求開始的時候就已經加入,而不是在請求結束的時候進行壓縮的。
     2.文件下載時直接彈出下載框進行下載,可能沒有經過瀏覽器的解壓過程。這一點有待考證。抑或有其他原因導致了不能對壓縮包進行加壓,因為這個壓縮包是經過兩次打包過的(Excel2007文件生成的時候打包過一次,在通過IIS下載時又被打包了一次)。
 
     使用IIS壓縮的問題(目前發現的):
     1.配置不方便,要更改系統里面的那個配置文件,權限不夠的話沒辦法配置。
     2.IIS6下會影響到IIS內的所有站點,據說IIS7不存在這個問題。
     3.配置了IIS壓縮的機器,在重啟幾次后配置丟失了(怪事)。
     4.Excel2007下載的問題,估計OOXML格式的問題都會有問題。
 
     解決:
     解決的辦法就是使用HttpModule進行壓縮,在HttpModule中使用PostReleaseRequestState事件進行壓縮,將壓縮的時機延后到Render之后,通常的代碼都不會卸載Render之后了吧 :)
     既然PostReleaseRequestState事件是在Render之后,有人會有疑問了,那也可以在頁面里面訂閱啊,在我實際的測試中發現是不能在頁面邏輯中改變Response.Filter,會報錯的,這個可能涉及到asp.net中的一些權限吧,所以還是老老實實的在HttpModule中去實現吧。
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.IO;
using System.IO.Compression;

namespace CapabilityTest
{
    
public class CompressModule : IHttpModule
    {
        
#region IHttpModule Members

        public
 void Dispose()
        {
            
//throw new NotImplementedException();
        }

        
public void Init(HttpApplication context)
        {
            context.PostReleaseRequestState 
+= new EventHandler(context_PostReleaseRequestState);
        }

        
#endregion

        private
 const string GZIP = "gzip";
        
private const string DEFLATE = "deflate";

        
private void context_PostReleaseRequestState(object sender, EventArgs e)
        {
            HttpApplication app 
= sender as HttpApplication;
            Stream filter 
= app.Response.Filter;

            
if (IsEncodingAccepted(app.Request, GZIP))
            {
                app.Response.Filter 
= new GZipStream(filter, CompressionMode.Compress);
                app.Response.AppendHeader(
"Content-Encoding", GZIP);
            }
            
else if (IsEncodingAccepted(app.Request, DEFLATE))
            {
                app.Response.Filter 
= new DeflateStream(filter, CompressionMode.Compress);
                app.Response.AppendHeader(
"Content-Encoding", DEFLATE);
            }
        }

        
private static bool IsEncodingAccepted(HttpRequest request, string encoding)
        {
            
string acceptEncoding = request.Headers["Accept-Encoding"];
            
if (acceptEncoding == null)
                
return false;

            acceptEncoding 
= acceptEncoding.ToLower();
            
if (encoding == GZIP)
                
return acceptEncoding.Contains(GZIP) || acceptEncoding.Contains("x-gzip"|| acceptEncoding.Contains("*");

            
if (encoding == DEFLATE)
                
return acceptEncoding.Contains(DEFLATE);

            
return false;
        }
    }
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲电影第1页| 一本色道久久88精品综合| 在线视频国产日韩| 亚洲国产精品小视频| 免费不卡欧美自拍视频| 欧美性xxxx在线播放| 亚洲国产成人爱av在线播放| 亚洲影视九九影院在线观看| 亚洲毛片在线看| 亚洲精品乱码久久久久久按摩观| 精品调教chinesegay| 91夜夜未满十八勿入爽爽影院| 国产欧美欧洲在线观看| 九九视频这里只有精品| 亚洲美女喷白浆| 国产一区二区三区直播精品电影| 亚洲欧洲午夜一线一品| 国产成人免费av| 色悠悠久久88| 91sao在线观看国产| 国产精品伦子伦免费视频| 久精品免费视频| 久久亚洲欧美日韩精品专区| 国产精品久久久久国产a级| 久久噜噜噜精品国产亚洲综合| 色视频www在线播放国产成人| 成人在线精品视频| 91精品中国老女人| 欧美国产日韩xxxxx| 精品国产自在精品国产浪潮| 国产成人+综合亚洲+天堂| 欧美三级xxx| 91麻豆国产精品| 欧美午夜女人视频在线| 久久精品久久精品亚洲人| 欧美黑人性视频| 久久久精品久久久| 55夜色66夜色国产精品视频| 狠狠久久五月精品中文字幕| 精品久久香蕉国产线看观看gif| 亚洲最大激情中文字幕| 97热精品视频官网| 精品国产欧美一区二区三区成人| 中文字幕亚洲专区| 亚洲永久在线观看| 成人黄色av播放免费| zzijzzij亚洲日本成熟少妇| 日韩第一页在线| 成人在线观看视频网站| 亚洲第一中文字幕| 国产精品美腿一区在线看| 久久69精品久久久久久国产越南| 国产精品jizz在线观看麻豆| 欧美在线观看一区二区三区| 亚洲精品一区二区三区不| 韩剧1988在线观看免费完整版| 亚洲国产精品热久久| 日韩精品视频在线观看网址| 欧美人在线视频| 91po在线观看91精品国产性色| 国模精品视频一区二区三区| 91精品视频免费| 久久视频在线观看免费| 成人免费网站在线| 一本色道久久88精品综合| 92版电视剧仙鹤神针在线观看| 日韩av高清不卡| 国产一区二区三区在线免费观看| 992tv在线成人免费观看| 国产精品小说在线| 中文字幕日韩电影| 亚洲成人精品久久久| 日韩一区二区在线视频| 国产精品久久久久福利| 日本久久久久久久久| 色综合久久悠悠| 欧美日韩一区二区免费视频| 亚洲欧洲偷拍精品| 宅男66日本亚洲欧美视频| 韩国欧美亚洲国产| 亚洲一级黄色av| 欧美精品久久久久久久久| 18性欧美xxxⅹ性满足| 91精品国产成人| 久久久久久久久久国产精品| 国产成人av网| 欧美日本精品在线| 国产在线视频91| 成人免费直播live| 中文字幕综合在线| 亚洲欧美综合区自拍另类| 国产精品视频一| 久久久久久久久久国产精品| 国产精品成人av性教育| 亚洲欧美激情视频| 欧美日韩国产丝袜另类| 91精品久久久久久久久不口人| 国内外成人免费激情在线视频网站| 国产精自产拍久久久久久蜜| 久久人人97超碰精品888| 亚洲激情在线视频| 亚洲国产精品一区二区三区| 中文字幕免费精品一区高清| 亚洲欧美国产一本综合首页| 亚洲网在线观看| 亚洲精品网址在线观看| 日韩免费高清在线观看| 97国产suv精品一区二区62| 韩国福利视频一区| 91色琪琪电影亚洲精品久久| 精品国产欧美一区二区五十路| 538国产精品一区二区在线| 欧美三级免费观看| 高清视频欧美一级| 亚洲人成在线观看| 日韩在线视频观看正片免费网站| 国产精品午夜一区二区欲梦| 欧美野外猛男的大粗鳮| 国产精品美女主播| 国产一区视频在线| 日本19禁啪啪免费观看www| 久久夜色精品国产| 亚洲欧美日韩成人| 亚洲护士老师的毛茸茸最新章节| 久久综合色88| 日韩高清有码在线| 久久精品久久久久| 国产亚洲欧洲黄色| 欧美一级bbbbb性bbbb喷潮片| 成人美女av在线直播| 国产精品视频成人| 亚洲综合日韩中文字幕v在线| 国产女同一区二区| 日本一本a高清免费不卡| 国产69精品久久久久9999| 81精品国产乱码久久久久久| 国产欧美在线观看| 91久久久久久久久久| 成人激情视频在线| 国产亚洲精品久久久久久777| 精品精品国产国产自在线| 久久久av亚洲男天堂| 日韩欧美一区二区三区久久| 国产精品一区二区久久久| 97视频在线观看视频免费视频| 一区二区三区视频在线| 亚洲а∨天堂久久精品9966| 日韩av免费在线看| 国产精品露脸自拍| 久久精品国产一区二区电影| 亚洲经典中文字幕| 久久精品国产电影| 欧美性xxxxx极品| 亚洲片在线资源| 91精品国产自产在线老师啪| 欧美精品中文字幕一区| 国产欧美欧洲在线观看| 国产精品电影在线观看| 奇门遁甲1982国语版免费观看高清| 狠狠躁夜夜躁人人躁婷婷91| 国产精品久久久久久久一区探花| 裸体女人亚洲精品一区| 91精品国产高清自在线| 久久久久久久激情视频|