5

我想禁用我的網絡服務器上的分塊傳輸編碼,以避免此錯誤: http://support.microsoft.com/kb/871205。不幸的是,我需要在Win2k上支持IE6,所以他們無法安裝補丁。如何在使用壓縮動態內容時禁用分塊傳輸編碼?

我發現了將AspEnableChunkedEncoding設置爲FALSE的說明,但這似乎無法解決我的問題。我相信這是因爲我們也使用gzip壓縮,根據這篇文章(http://www.eggheadcafe.com/conversation.aspx?messageid=31045986&threadid=31045970)要求分塊編碼以壓縮動態內容。因此,所有動態壓縮的內容都被「分塊」傳輸,因爲它被gzip過濾器壓縮,而不是ASP.NET。

我知道IIS可以提供​​這個內容unchunked,因爲我已經嘗試在請求中使用http 1.0(它不支持傳輸編碼:分塊),並且響應正確到達並壓縮。

如何在使用ScriptManager時禁用分塊編碼,這需要對生成的「.axd」文件進行動態壓縮?

+2

你是否爲某些政府工作?吮吸支持IE6,特別是像Win2k這樣古老的東西。 – 2010-11-20 02:22:23

回答

1

由於您無法更改IIS中GZip壓縮的行爲或讓您的客戶端升級到新的操作系統,爲何不有條件地關閉特定用戶代理字符串的GZip壓縮。

在Apache上,你可以使用國防部重寫做到這一點(see here)與像一些行:

RewriteEngine on 

RewriteCond %{HTTP:User-Agent} MSIE\ [56] 
RewriteCond %{HTTP:User-Agent} !SV1 
RewriteCond %{REQUEST_URI} \.(css|js)$ 
RewriteHeader Accept-Encoding: .* $1 

server fault thread表明您可以使用ISAPI Rewrite使用相同的指令,並得到同樣的結果。看起來這些指令也會由免費的「Lite」版本支持,因此您不必購買任何許可證。

相關問題