核心模式快取

HTTP Server 2.0 版 API 可讓應用程式以核心模式快取靜態內容的回應。 當從核心快取提供要求而不轉換至使用者模式時,就會達到更高的效能。

HTTP 伺服器 API 會將適當的屬性組態套用至核心快取中提供的所有要求,包括記錄回應。 不過,需要驗證的要求將不會從快取提供。

HTTP 伺服器 API 會將核心模式快取限制為符合下列條件的要求:

  • 要求動詞是 GET,而且會收到整個要求。
  • 要求不得有實體主體。
  • HTTP 通訊協定是 1.0 版或更新版本。
  • 「Translate: f」 標頭不存在。
  • 「預期:100-Continue」以外的預期標頭不存在。
  • 授權標頭不存在。
  • Range 和 If-Range 標頭不存在。

除了要求的限制之外,回應也必須符合下列條件:

  • 根據預設,回應大小限制為 256 KB。 若要變更快取的回應大小,請將 UriMaxUriBytes 登錄值設定為所需的位元組數目。

    HKEY_LOCAL_MACHINE
       System
          CurrentControlSet
             Services
                HTTP
                   Parameters
                      UriMaxUriBytes
    
  • 您必須在 對 HttpSendHttpResponse的單一呼叫中提供整個回應。

  • 回應上的日期標頭不得隱藏。

  • 如果出現上次修改的標頭,標頭的值必須具有正確的語法。 此標頭中的時間值用於快取控制驗證。

  • 核心模式快取有足夠的空間可儲存回應。

根據預設,會啟用核心模式回應快取。 如果不符合上述要求或回應的任何條件,則會傳送回應,但不會快取。 在 HTTP Server 2.0 版 API 中, HttpSendHttpResponse 包含選擇性 pCachePolicy 參數,以傳遞 HTTP_CACHE_POLICY 結構。 應用程式會使用快取原則結構來設定快取。