Bagikan melalui


Pengaturan <Protokol HTTP httpProtocol>

Gambaran Umum

Elemen mengonfigurasi <httpProtocol> koneksi http tetap aktif serta header respons kustom dan pengalihan yang dikirim Internet Information Services (IIS) 7 ke klien Web.

Browser biasanya membuat beberapa permintaan untuk mengunduh seluruh halaman Web. Untuk meningkatkan performa server, sebagian besar browser Web meminta agar server tetap membuka koneksi di beberapa permintaan ini, yang merupakan fitur yang dikenal sebagai HTTP tetap aktif. Tanpa HTTP tetap aktif, browser yang membuat banyak permintaan untuk halaman yang berisi beberapa elemen, seperti grafik, mungkin memerlukan koneksi terpisah untuk setiap elemen. Permintaan dan koneksi tambahan ini memerlukan aktivitas dan sumber daya server tambahan, mengurangi efisiensi server. Koneksi tambahan juga membuat browser jauh lebih lambat dan kurang responsif, terutama di seluruh koneksi yang lambat.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <httpProtocol> tidak dimodifikasi dalam IIS 10.0.
IIS 8.5 Elemen <httpProtocol> tidak dimodifikasi dalam IIS 8.5.
IIS 8.0 Elemen <httpProtocol> tidak dimodifikasi dalam IIS 8.0.
IIS 7.5 Elemen <httpProtocol> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen ini <httpProtocol> diperkenalkan di IIS 7.0.
IIS 6.0 Atribut allowKeepAlive dari <httpProtocol> elemen menggantikan properti metabase AllowKeepAlive IIS 6.0.

Siapkan

Elemen <httpProtocol> ini disertakan dalam penginstalan default IIS 7.

Bagaimana Caranya

Cara mengaktifkan HTTP keep-alives untuk situs web atau aplikasi

  1. Buka Pengelola Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
  2. Di panel Koneksi , buka situs, aplikasi, atau direktori yang ingin Anda aktifkan HTTP tetap aktif.

  3. Di panel Beranda , klik dua kali Header Respons HTTP.
    Cuplikan layar halaman Beranda Situs Web Default. Ikon Header Respons H T T P disorot.

  4. Di panel Header Respons HTTP , klik Atur Header Umum... di panel Tindakan .
    Cuplikan layar halaman Header Respons H T T P.

  5. Dalam kotak dialog Atur Header Respons HTTP Umum , centang kotak untuk mengaktifkan HTTP tetap aktif, lalu klik OK.
    Cuplikan layar kotak dialog Atur Header Respons H T T P Umum.

Konfigurasi

Atribut

Atribut Deskripsi
allowKeepAlive Atribut Boolean opsional.

Menentukan apakah pemrosesan tetap hidup diizinkan (benar) atau tidak (false).

Nilai defaultnya adalah true.

Elemen Anak

Elemen Deskripsi
customHeaders Mengonfigurasi header respons kustom yang dikembalikan sebagai respons dari server Web.
redirectHeaders Mengonfigurasi header respons yang dikembalikan sebagai respons hanya ketika server Web mengalihkan permintaan.

Sampel Konfigurasi

Sampel kode berikut mengaktifkan HTTP keep-alives untuk Situs Web Default.

<configuration>
   <system.webServer>
      <httpProtocol allowKeepAlive="true" />
   </system.webServer>
</configuration>

Catatan

Elemen default <httpProtocol> berikut dikonfigurasi dalam file ApplicationHost.config di IIS 7.

<httpProtocol>
   <customHeaders>
      <clear />
      <add name="X-Powered-By" value="ASP.NET" />
   </customHeaders>
   <redirectHeaders>
      <clear />
   </redirectHeaders>
</httpProtocol>

Kode Sampel

Sampel kode berikut mengaktifkan HTTP keep-alives untuk Situs Web Default.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/httpProtocol /allowKeepAlive:"True"

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");

         ConfigurationSection httpProtocolSection = config.GetSection("system.webServer/httpProtocol");
         httpProtocolSection["allowKeepAlive"] = true;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")

      Dim httpProtocolSection As ConfigurationSection = config.GetSection("system.webServer/httpProtocol")
      httpProtocolSection("allowKeepAlive") = True

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var httpProtocolSection = adminManager.GetAdminSection("system.webServer/httpProtocol", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpProtocolSection.Properties.Item("allowKeepAlive").Value = true;

adminManager.CommitChanges();

Vbscript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"

Set httpProtocolSection = adminManager.GetAdminSection("system.webServer/httpProtocol", "MACHINE/WEBROOT/APPHOST/Default Web Site")
httpProtocolSection.Properties.Item("allowKeepAlive").Value = True

adminManager.CommitChanges()