Iis

為什麼 IIS 6 中的 gzip 壓縮不適用於某些客戶端?

  • December 15, 2009

我最近在 IIS6 中啟用了壓縮,但它似乎適用於某些使用者而不適用於其他使用者。我已經驗證它對 Fiddler 和 Firebug 對我有用。

例如,我的日誌文件中有一個“sc 字節”為 2,223、7,272 和 7,296 的特定靜態文件。最大的文件大小是未壓縮的大小。

以下是一些範例使用者代理和狀態 200 請求的文件大小:

字節:2,223

  • Mozilla/4.0+(兼容;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+2.0.50727)

字節:7,296

  • Mozilla/4.0+(兼容;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+2.0.50727)
  • Mozilla/4.0+(兼容;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727;+.NET+CLR+3.0。 04506.30)

我該怎麼做才能開始故障排除/解決這個問題?這是我能控制的嗎?

網路花園已啟用,如果這有所作為。

一些較舊的瀏覽器無法正確處理壓縮內容,因此預設伺服器設置會嘗試檢測這些(從代理字元串)並在檢測到此類客戶端時拒絕發送壓縮內容。

此外,瀏覽器(或其他 HTTP 客戶端)需要在其發送的請求中將自己標識為接受壓縮內容 - 如果請求accepts-*中不存在相關標頭,則不會壓縮響應。這不是您可以在伺服器端控制的東西。如果使用者通過不傳遞相關標頭的代理執行,他們可能也無法控制它。

我不確定為什麼你會看到一些 7272 字節的請求,如果實際文件大小是 7296。這種情況發生了多少次?如果它只有一次,那麼它很可能只是一個隨機錯誤,你永遠不會深究。如果它經常發生,那麼值得進行更詳細的調查。

引用自:https://serverfault.com/questions/94710