Singgahan Mode Kernel

API HTTP Server versi 2.0 memungkinkan aplikasi untuk menyimpan respons dengan konten statis dalam mode kernel. Peningkatan performa dicapai ketika permintaan dilayani dari cache kernel tanpa transisi ke mode pengguna.

HTTP Server API menerapkan konfigurasi properti yang sesuai untuk semua permintaan yang dilayani dari cache kernel, termasuk respons pengelogan. Namun, permintaan yang memerlukan autentikasi tidak akan dilayani dari cache.

HTTP Server API membatasi cache mode kernel ke permintaan yang memenuhi kondisi berikut:

  • Kata kerja permintaan adalah GET dan seluruh permintaan diterima.
  • Permintaan tidak boleh memiliki badan entitas.
  • Protokol HTTP adalah versi 1.0 atau yang lebih baru.
  • Header "Terjemahkan: f " tidak ada.
  • Header yang diharapkan selain "Expect: 100-Continue" tidak ada.
  • Header otorisasi tidak ada.
  • Header Rentang dan If-Range tidak ada.

Selain pembatasan permintaan, respons juga harus memenuhi kondisi berikut:

  • Ukuran respons dibatasi hingga 256 KB, secara default. Untuk mengubah ukuran respons yang di-cache, atur nilai registri UriMaxUriBytes ke jumlah byte yang diperlukan.

    HKEY_LOCAL_MACHINE
       System
          CurrentControlSet
             Services
                HTTP
                   Parameters
                      UriMaxUriBytes
    
  • Seluruh respons harus diberikan dalam satu panggilan ke HttpSendHttpResponse.

  • Header tanggal pada respons tidak boleh ditekan.

  • Jika header yang terakhir dimodifikasi ada, nilai header harus memiliki sintaks yang benar. Nilai waktu di header ini digunakan untuk verifikasi kontrol cache.

  • Cache mode kernel memiliki cukup ruang yang tersisa untuk menyimpan respons.

Secara default, cache respons mode kernel diaktifkan. Jika salah satu kondisi untuk permintaan atau respons yang tercantum di atas tidak terpenuhi, respons akan dikirim, tetapi tidak akan di-cache. Di HTTP Server versi 2.0 API, HttpSendHttpResponse menyertakan parameter pCachePolicy opsional untuk meneruskan struktur HTTP_CACHE_POLICY . Aplikasi menggunakan struktur kebijakan cache untuk mengonfigurasi cache.