Condividi tramite


Cache in modalità kernel

L'API HTTP Server versione 2.0 consente alle applicazioni di memorizzare nella cache le risposte con contenuto statico in modalità kernel. Una maggiore prestazioni viene ottenuta quando le richieste vengono gestite dalla cache del kernel senza passare alla modalità utente.

L'API server HTTP applica le configurazioni di proprietà appropriate a tutte le richieste gestite dalla cache del kernel, incluse le risposte di registrazione. Le richieste che richiedono l'autenticazione, tuttavia, non verranno gestite dalla cache.

L'API SERVER HTTP limita la cache in modalità kernel alle richieste che soddisfano le condizioni seguenti:

  • Il verbo della richiesta è GET e viene ricevuta l'intera richiesta.
  • La richiesta non deve avere un corpo dell'entità.
  • Il protocollo HTTP è la versione 1.0 o successiva.
  • L'intestazione "Translate: f " non è presente.
  • Non sono presenti intestazioni diverse da "Expect: 100-Continue".
  • L'intestazione di autorizzazione non è presente.
  • Le intestazioni Range e If-Range non sono presenti.

Oltre alle restrizioni per la richiesta, la risposta deve soddisfare anche le condizioni seguenti:

  • Le dimensioni della risposta sono limitate a 256 KB, per impostazione predefinita. Per modificare le dimensioni della risposta memorizzata nella cache, impostare il valore del Registro di sistema UriMaxUriBytes sul numero di byte richiesto.

    HKEY_LOCAL_MACHINE
       System
          CurrentControlSet
             Services
                HTTP
                   Parameters
                      UriMaxUriBytes
    
  • L'intera risposta deve essere fornita in una singola chiamata a HttpSendHttpResponse.

  • L'intestazione di data nella risposta non deve essere eliminata.

  • Se l'intestazione dell'ultima modifica è presente, il valore dell'intestazione deve avere la sintassi corretta. Il valore dell'ora in questa intestazione viene usato per la verifica del controllo cache.

  • La cache in modalità kernel ha spazio sufficiente per archiviare la risposta.

Per impostazione predefinita, la cache delle risposte in modalità kernel è abilitata. Se non vengono soddisfatte le condizioni per la richiesta o la risposta elencata in precedenza, la risposta verrà inviata, ma non verrà memorizzata nella cache. Nell'API HTTP Server versione 2.0 HttpSendHttpResponse include un parametro pCachePolicy facoltativo per passare la struttura HTTP_CACHE_POLICY . Le applicazioni usano la struttura dei criteri della cache per configurare la cache.