HTTP.sys不會快取內容的實例
本文介紹HTTP.sys驅動程式不會快取內容的實例。
原始產品版本:網際網路資訊服務
原始 KB 編號: 817445
HTTP.sys未快取的情況
回應快取會 HTTP.sys
快取要求標頭中具有適當旗標的任何要求。 每個要求會停用此快取。 不過,如果下列一或多個條件成立, HTTP.sys
則不會快取要求回應:
要求不是匿名要求。
要求需要驗證。 (例如,要求包含
Authorization:
標頭。網站已設定為使用頁尾。
動態壓縮已啟用,並用於回應。
注意
靜態壓縮可以搭配
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 會嘗試在 [預設檔案] 清單中提供第二頁。 在此情況下,不會從快取提供該靜態頁面。