HTTP.sys 不會快取內容的實例
本文將介紹 HTTP.sys 驅動程式不會快取內容的情況。
原始產品版本: 網際網路資訊服務8。0
原始 KB 編號: 817445
HTTP.sys 不會快取的情況
回應快取會 HTTP.sys
在要求標頭中快取具有適當標誌的任何要求。 這種快取是以每個要求為基礎停用。 不過,如果下列一或多個條件為 true,則 HTTP.sys
不會快取要求回應:
要求並非匿名要求。
要求需要驗證。 (例如,要求包含
Authorization:
標頭)。網站已設定為使用頁腳。
動態壓縮已啟用並可用於回應。
注意
靜態壓縮可搭配快取使用
HTTP.sys
。靜態檔案是通用命名慣例(UNC)檔案,
DoDirMonitoringForUnc
未啟用登錄機碼。注意
您可以使用
DoDirMonitoringForUnc
registry 屬性(DWORD 值)將靜態檔案快取切換回變更通知快取。 這會設定如下:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Inetinfo\Parameters
預設值為0,或未啟用。 它可以設為1,以根據變更通知來啟用靜態內容的快取。要求包含查詢字串。
停用快取。 (亦即,
MD_VR_NO_CACHE
metabase.xml 屬性等於1。)注意
如需詳細資訊,請參閱
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。回應標頭大小大於每個回應的頁首大小上限。 預設值為1024位元組。
快取已滿。 預設大小與電腦中的實體記憶體成正比。
回應的長度為零。
安裝未進行快取感知的網際網路伺服器應用程式介面(ISAPI)篩選器。
注意
根據預設,ISAPI 篩選器不會以快取識別。 您必須為
FilterEnableCache
篩選器設定 metabase.xml 屬性,使其可進行快取識別。 預設的 IIS 安裝中的所有篩選都是快取感知。 這包括 FrontPage 和 ASP.NET。
如需有關FilterEnableCache
元資料庫屬性的詳細資訊,請查看Windows 10 部署中的新功能。靜態檔案會被當作預設檔存取。 (例如,Default.htm 存在於根目錄中。)依名稱()存取特定檔案
http://contoso.com/default.htm/
會使 s 快取檔案HTTP.sy
。 以要求根資料夾()存取網站會http://contoso.com/
產生非快取的回應。注意
如果預設檔案清單中所列的第一個頁面無法存取,則 IIS 會嘗試為預設檔案清單中的第二個頁面提供服務。 在此情況下,將不會從快取中提供該靜態頁面。