HTTP.sys 不會快取內容的實例
本文介紹 HTTP.sys 驅動程式不會快取內容的實例。
原始產品版本: Internet Information Services 8.0
原始 KB 編號: 817445
HTTP.sys 不會快取的情況
回應 HTTP.sys
快取會在要求標頭中快取具有適當旗標的任何要求。 此快取會根據每個要求停用。 不過,如果下列一或多個條件成立, HTTP.sys
則不會快取要求回應:
要求不是匿名要求。
要求需要驗證。 (例如,要求包含
Authorization:
header.)網站已設定為使用頁尾。
動態壓縮已啟用,並用於回應。
注意事項
靜態壓縮可以與快取搭配
HTTP.sys
使用。靜態檔案是 UNC) 檔案 (通用命名約定,
DoDirMonitoringForUnc
而且未啟用登錄機碼。注意事項
您可以使用
DoDirMonitoringForUnc
登錄屬性 (DWORD 值) 將靜態檔案快取切換回變更通知快取。 這會設定如下:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Inetinfo\Parameters
預設值為 0 或未啟用。 它可以設定為 1,以根據變更通知啟用靜態內容的快取。要求包含查詢字串。
快取已停用。 (也就是說,
MD_VR_NO_CACHE
metabase 屬性等於 1.)注意事項
如需 Metabase 屬性的
MD_VR_NO_CACHE
詳細資訊,請參閱產品檔。 若要檢視此檔,請 參閱 DisableStaticFileCache。要求具有實體主體。
已啟用 URL 的憑證對應。
已啟用網站的自定義記錄。
要求 HTTP 版本不是 1.1 或 1.0。
要求包含
Translate: f
標頭。Expect:
沒有完全100 continue
包含的標頭存在。要求包含
If-Range:
標頭或Range:
標頭。注意事項
HTTP.sys
只會處理整個回應。HTTP.sys
不會嘗試傳送範圍回應。回應會跨越多個
SendResponse
和SendResponseEntityBody
呼叫。注意事項
可快取的回應必須在單一向量
SendResponse
呼叫中關閉。回應大小總計大於每個回應的大小上限。 最大值由登錄機碼控制
UriMaxUriBytes
,預設值為 256 KB。響應標頭大小大於每個回應的最大標頭大小。 默認值為 1,024 個字節。
快取已滿。 默認大小與計算機中的物理記憶體成正比。
回應長度為零。
已安裝未感知快取的因特網伺服器應用程式 (ISAPI) 篩選器。
注意事項
根據預設,ISAPI 篩選條件不會感知快取。 您必須設定篩選條件
FilterEnableCache
的 Metabase 屬性,使其能夠感知快取。 預設 IIS 安裝中的所有篩選都是快取感知。 這包括 FrontPage 和 ASP.NET。
如需metabase屬性的FilterEnableCache
詳細資訊,請檢視 Windows 10 部署的新功能。靜態檔案會存取為預設檔。 (例如,根目錄中 Default.htm ) 依名稱存取特定檔案 ()
http://contoso.com/default.htm/
會導致HTTP.sy
快取檔案。 藉由要求根資料夾來存取網站 (http://contoso.com/
) 會導致未快取的回應。注意事項
如果無法存取預設檔案清單中所列的第一頁,IIS 會嘗試提供預設檔案清單中的第二頁。 在此情況下,不會從快取提供該靜態頁面。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應