Setiap website yang bisa Anda buka lewat browser selalu ditopang satu program yang bertugas menunggu permintaan, mencari berkas yang diminta, lalu mengirim balik halamannya. Program itu disebut web server. Di lingkungan Linux, nama yang paling sering terdengar adalah Apache dan Nginx — keduanya perangkat lunak terpisah yang harus dipasang lebih dulu sebelum bisa dipakai.
Di lingkungan Windows ceritanya berbeda. Programnya sudah berada di dalam sistem operasi sejak awal dan hanya menunggu diaktifkan. IIS adalah nama program tersebut, dan ia sudah menemani Windows sejak pertengahan 1990-an.
IIS Adalah Internet Information Services
IIS adalah singkatan dari Internet Information Services, yaitu web server buatan Microsoft yang berjalan di atas sistem operasi Windows. Tugasnya menerima permintaan HTTP dari browser, memprosesnya, lalu mengirim balik halaman web. IIS artinya secara harfiah "layanan informasi internet", dan di banyak dokumentasi ia ditulis sebagai Microsoft IIS, IIS server, atau IIS web server.
Versi pertamanya dirilis pada 1995 sebagai tambahan gratis untuk Windows NT 3.51. Sejak Windows 2000 ia menjadi bagian resmi dari sistem operasi. Hari ini web server IIS hadir di Windows Server maupun di edisi desktop seperti Windows 10 dan 11.
Ada satu hal mendasar yang membedakan IIS dari web server lain: IIS bukan aplikasi yang Anda unduh, melainkan komponen Windows yang Anda aktifkan. Berkas instalasinya sudah tersedia di dalam sistem operasi. Tidak ada situs resmi tempat mengunduh "IIS 10", sebagaimana Anda mengunduh Apache atau Nginx.
Konsekuensinya cukup besar: versi IIS terikat pada versi Windows. Anda tidak bisa memasang IIS 10 di Windows Server 2012, dan tidak bisa menambal IIS secara terpisah — pembaruannya datang bersama pembaruan Windows.
Tiga Hal Berbeda yang Sama-Sama Disingkat IIS
Sebelum masuk lebih dalam, satu hal perlu diluruskan. Pertanyaan "apa itu IIS" ternyata punya lebih dari satu jawaban yang sah, karena singkatan ini dipakai untuk beberapa hal yang sama sekali tidak berhubungan. Inilah sebabnya hasil pencarian untuk kata tersebut sering terasa bercampur.
- Internet Information Services: web server buatan Microsoft yang menjadi pokok bahasan artikel ini.
- Ilmu-Ilmu Sosial: nama peminatan SMA/MA menurut Permendikbud Nomor 69 Tahun 2013. Pasangannya MIA (Matematika dan Ilmu Alam) dan IBB (Ilmu Bahasa dan Budaya). Di banyak sekolah, ketiganya kemudian lebih sering ditulis IPS, MIPA, dan Bahasa.
- Islamic Insurance Society: asosiasi yang bergerak di bidang asuransi syariah di Indonesia.
Seluruh pembahasan di bawah merujuk pada makna pertama, web server Microsoft.
Peta Versi IIS dan Rilis Windows
Tabel berikut disusun dari halaman lifecycle resmi Microsoft:
| Versi IIS | Dibawa oleh | Tahun | Akhir dukungan |
|---|---|---|---|
| IIS 6.0 | Windows Server 2003 | 2003 | 14 Juli 2015 |
| IIS 7.0 | Windows Server 2008 | 2008 | 14 Januari 2020 |
| IIS 7.5 | Windows Server 2008 R2, Windows 7 | 2009 | 14 Januari 2020 |
| IIS 8.0 | Windows Server 2012 | 2012 | 10 Oktober 2023 |
| IIS 8.5 | Windows Server 2012 R2 | 2013 | 10 Oktober 2023 |
| IIS 8.5 | Windows 8.1 | 2013 | 10 Januari 2023 |
| IIS 10.0 | Windows 10, lalu Windows Server 2016 hingga 2025 | 2015 | Mengikuti Windows-nya |
Perhatikan dua baris IIS 8.5. Versi IIS yang sama berakhir pada tanggal berbeda karena tanggalnya mengikuti Windows yang membawanya, bukan mengikuti IIS itu sendiri.
Tiga catatan penting bisa ditarik dari tabel ini.
IIS 9 tidak pernah ada. Penomorannya melompat dari 8.5 langsung ke 10.0, mengikuti perpindahan Microsoft dari Windows 8.1 ke Windows 10. Jadi kalau Anda mencari cara mengunduh IIS 9, yang dicari memang tidak pernah dirilis.
IIS 10.0 sudah berumur sebelas tahun. Ia hadir bersama Windows 10 pada Juli 2015, dan sejak itu Windows Server 2016, 2019, 2022, sampai 2025 semuanya tetap membawa IIS 10.0. Angka versinya diam bukan karena IIS berhenti diperbaiki, melainkan karena perbaikannya masuk lewat pembaruan Windows tanpa menaikkan nomor mayor. Untuk IIS 10.0 sendiri, tanggal akhir dukungannya menyesuaikan Windows induknya: Windows Server 2016 berakhir 12 Januari 2027, dan Windows Server 2019 berakhir 9 Januari 2029.
Sebagian besar instalasi lama belum ikut pindah. Data W3Techs per Agustus 2026 memecah server IIS di internet seperti ini: 85,5% menjalankan IIS 10, sementara 10,6% masih tertinggal di IIS 8. Sisanya terbagi antara IIS 7 (2,9%) dan IIS 6 ke bawah. Artinya sekitar 14,5% server IIS yang hidup hari ini berjalan di versi yang dukungannya sudah berakhir, sebagian sejak 2015. Kalau Anda mewarisi server Windows lama, memeriksa versi IIS-nya adalah pekerjaan pertama yang masuk akal.
Cara Kerja IIS: Dari HTTP.sys sampai Application Pool
Ketika sebuah permintaan masuk ke IIS, ia tidak ditangani satu program besar, melainkan melewati beberapa komponen yang bertugas berbeda-beda.
Diagram alur permintaan IIS: permintaan HTTP, antrean HTTP.sys di kernel, WAS menyalakan application pool, lalu w3wp.exe.
HTTP.sys adalah pintu terdepan. Ia bukan bagian dari IIS, melainkan driver milik Windows yang berjalan di kernel mode, yaitu lapisan paling dalam sistem operasi. Diperkenalkan sejak IIS 6.0 untuk menggantikan Winsock, HTTP.sys menyimpan permintaan masuk di sebuah antrean dan menyaringnya lebih awal. Ia bahkan bisa melayani respons dari cache tanpa membangunkan komponen di atasnya.
WAS (Windows Process Activation Service) berada di atasnya. Sejak IIS 7.0 ia mengambil alih manajemen proses dari WWW Service. WAS membaca applicationHost.config, menentukan aplikasi mana yang harus melayani permintaan itu, lalu menyalakan proses pekerja bila belum berjalan. Karena pemisahan inilah IIS juga bisa melayani protokol selain HTTP, misalnya net.tcp.
Application pool adalah konsep paling penting yang perlu Anda pahami tentang IIS. Sebuah application pool adalah batas proses: setiap pool menjalankan proses pekerjanya sendiri bernama w3wp.exe, dengan identitas keamanan sendiri, memori sendiri, dan pengaturan sendiri. Dua situs yang berada di pool berbeda praktis tidak saling mengenal. Kalau aplikasi di pool A kehabisan memori atau macet, aplikasi di pool B tetap melayani pengunjung.
Diagram isolasi application pool IIS: antrean permintaan dibagi ke dua pool terpisah, satu berjalan normal dan satu gagal.
Di dalam w3wp.exe, permintaan melewati rangkaian modul yang berurutan — modul autentikasi, modul penyaring permintaan, modul kompresi, modul yang benar-benar mengambil berkas, dan seterusnya. Arsitektur modular ini juga baru dari IIS 7.0. Sebelumnya, hampir semua kemampuan tertanam di dalam server dan tidak bisa dilepas.
Dua perilaku IIS yang sering membingungkan langsung terjelaskan oleh rancangan ini. Pertama, karena antrean berada di kernel, IIS tetap menerima koneksi ketika proses pekerja sedang dimatikan dan dinyalakan ulang — pengunjung merasakan jeda, bukan koneksi ditolak. Kedua, IIS secara bawaan menyalakan ulang setiap application pool tiap 29 jam sekali, dan menidurkan proses pekerja setelah 20 menit tanpa permintaan. Permintaan pertama sesudah masa tidur itu terasa lambat karena aplikasi harus dinyalakan lagi dari nol.
Fungsi IIS di Luar Mengirim Berkas
Mengirim berkas HTML hanyalah pekerjaan paling dasar. Dalam pemakaian nyata, kemampuan berikut yang lebih sering dipakai:
- Binding situs: satu server IIS bisa melayani puluhan domain sekaligus. Setiap situs didaftarkan dengan kombinasi alamat IP, nomor port, dan nama host, plus sertifikat SSL tersendiri bila memakai HTTPS.
- Autentikasi terintegrasi: selain autentikasi dasar, IIS mendukung Windows Authentication dan Kerberos. Di jaringan kantor yang memakai Active Directory, pengguna yang sudah login ke komputernya bisa langsung masuk ke aplikasi web tanpa mengetik kata sandi lagi. Kemampuan inilah yang paling sulit ditiru web server lain.
- URL Rewrite: modul tambahan untuk menulis ulang alamat, mengalihkan HTTP ke HTTPS, atau merapikan URL panjang menjadi bentuk yang mudah dibaca.
- Reverse proxy dan penyeimbang beban: lewat modul Application Request Routing (ARR), IIS bisa berperan sebagai proxy yang meneruskan permintaan ke server lain di belakangnya. Modul yang sama bisa membagi beban ke beberapa server sekaligus.
- Kompresi dan caching: IIS bisa memampatkan respons sebelum dikirim, menyimpan hasil olahan halaman, serta memanfaatkan cache di HTTP.sys yang bekerja tanpa membangunkan proses pekerja.
- Layanan berkas: peran FTP server dan WebDAV tersedia sebagai komponen terpisah yang bisa ditambahkan bila memang dibutuhkan.
- Penyaringan permintaan: modul Request Filtering membatasi metode HTTP yang diizinkan, panjang URL, dan ekstensi berkas yang boleh diakses. Sejak IIS 10.0, modul ini juga bisa menghapus header
Serveryang secara bawaan mengumumkan versi IIS Anda kepada siapa pun.
Karena arsitekturnya modular, modul yang tidak Anda pakai sebaiknya tidak dipasang sama sekali. Setiap modul yang aktif menambah permukaan yang bisa diserang sekaligus memori yang dipakai proses pekerja.
IIS dan .NET: Hubungan yang Sudah Berubah
Banyak penjelasan tentang IIS masih menggambarkannya sebagai "server tempat aplikasi ASP.NET berjalan". Gambaran itu benar untuk teknologi generasi lama, tetapi sudah tidak akurat untuk aplikasi .NET modern.
Pada era ASP klasik dan ASP.NET Framework, kode aplikasi benar-benar dieksekusi di dalam pipeline IIS. Runtime .NET dimuat sebagai bagian dari proses pekerja, dan IIS-lah yang menjalankan kode Anda.
Sejak ASP.NET Core, hubungannya terbalik. Aplikasi ASP.NET Core membawa web server-nya sendiri bernama Kestrel, sehingga sebenarnya sudah bisa melayani permintaan tanpa IIS sama sekali. Di server Windows ia tetap lazim ditaruh di belakang IIS. Bedanya, kini IIS berperan sebagai pintu depan dan pengelola proses, bukan lagi sebagai penjalan kode.
Penghubungnya adalah ASP.NET Core Module, yang dipasang lewat paket .NET Hosting Bundle. Modul ini menawarkan dua model:
Diagram dua model hosting ASP.NET Core di IIS: in-process di dalam w3wp.exe dan out-of-process diteruskan ke Kestrel.
- In-process — model bawaan untuk aplikasi baru. Aplikasi dijalankan di dalam proses
w3wp.exeyang sama, lewat implementasi server bernama IIS HTTP Server. Karena permintaan tidak perlu diteruskan lewat jaringan internal, performanya lebih tinggi. - Out-of-process — aplikasi berjalan sebagai proses terpisah dengan Kestrel, dan IIS meneruskan permintaan kepadanya lewat port acak di komputer yang sama. Model ini lebih longgar tetapi menambah satu lompatan di setiap permintaan.
IIS juga bisa menjalankan runtime yang sama sekali bukan buatan Microsoft. PHP dijalankan lewat FastCGI, sementara aplikasi Node.js umumnya ditaruh di belakang IIS sebagai reverse proxy.
Satu nama lagi yang sering tertukar adalah IIS Express: versi ringkas untuk pengembangan. Ia tidak berjalan sebagai layanan sistem, tidak memakai WAS, tidak menuntut hak administrator, dan secara bawaan hanya melayani permintaan dari komputer itu sendiri. Cocok untuk menguji aplikasi di localhost, bukan untuk melayani pengunjung sungguhan.
Memasang dan Mengelola IIS di Windows
Di Windows Server, IIS diaktifkan sebagai role lewat Server Manager: pilih Add Roles and Features, lalu centang Web Server (IIS). Cara yang lebih cepat adalah lewat PowerShell yang dijalankan sebagai administrator:
Install-WindowsFeature -Name Web-Server -IncludeManagementToolsParameter -IncludeManagementTools perlu ditulis eksplisit. Tanpa itu, IIS terpasang tetapi IIS Manager tidak ikut, sehingga Anda kehilangan antarmuka pengelolaannya.
Di Windows 10 dan 11, jalurnya berbeda: buka Control Panel → Programs → Turn Windows features on or off, lalu centang Internet Information Services. Setelah selesai, buka http://localhost di browser untuk memastikan halaman bawaan IIS muncul.
Setelah terpasang, ada beberapa lokasi yang perlu Anda hafal:
| Keperluan | Lokasi |
|---|---|
| Antarmuka pengelolaan | Jalankan inetmgr |
| Berkas situs bawaan | C:\inetpub\wwwroot |
| Konfigurasi tingkat server | %SystemRoot%\System32\inetsrv\config\applicationHost.config |
| Konfigurasi per aplikasi | Berkas web.config di folder aplikasi |
| Log akses | C:\inetpub\logs\LogFiles\W3SVC<ID situs>\ |
| Log error HTTP.sys | C:\Windows\System32\LogFiles\HTTPERR\ |
Berkas log akses dibuat harian dengan pola nama u_exYYMMDD.log. Perhatikan bahwa error yang ditolak HTTP.sys sebelum sampai ke IIS tercatat di folder terpisah. Folder itulah tempat pertama yang perlu diperiksa ketika permintaan seolah menghilang tanpa jejak di log biasa.
Untuk urusan menyalakan ulang, hindari refleks mengetik iisreset. Perintah itu menghentikan seluruh layanan web di server, termasuk situs yang sedang baik-baik saja. Bila masalahnya hanya pada satu aplikasi, jauh lebih tepat memilih application pool-nya di IIS Manager lalu menekan Recycle.
Isolasi per pool juga menolong saat CPU server tiba-tiba melonjak. Task Manager hanya menampilkan beberapa proses bernama sama, w3wp.exe, tanpa memberi tahu mana yang bermasalah. Di IIS Manager, menu Worker Processes memetakan setiap proses ke application pool-nya lengkap dengan pemakaian CPU dan memori. Dari situ Anda tahu aplikasi mana yang perlu diperiksa, dan bisa menekan View Current Requests untuk melihat permintaan apa yang sedang tertahan di dalamnya.
Membaca Kode Error Khas IIS
IIS memakai kode status HTTP dengan angka tambahan di belakang titik. Angka tambahan inilah yang menunjukkan penyebab sebenarnya, dan ia khas IIS. Berikut kode yang paling sering ditemui:
| Kode | Arti | Penyebab paling sering |
|---|---|---|
| 401.2 | Logon failed due to server configuration | Kombinasi metode autentikasi yang aktif di IIS tidak cocok dengan yang diminta aplikasi |
| 403.14 | Directory listing denied | Folder tidak punya dokumen bawaan seperti index.html, sementara penelusuran folder dimatikan |
| 404.4 | No handler configured | Ekstensi berkas yang diminta belum punya penangan, misalnya aplikasi .NET Core dipasang tanpa Hosting Bundle |
| 500.19 | Configuration data is invalid | Kesalahan penulisan di web.config, atau berkas itu merujuk modul yang belum terpasang |
| 500.30 | In-process startup failure | Aplikasi ASP.NET Core gagal dinyalakan di dalam proses IIS |
| 502.5 | Process failure | Proses aplikasi ASP.NET Core gagal berjalan pada model out-of-process |
| 503.0 | Application pool unavailable | Application pool tujuan sedang berhenti atau dinonaktifkan |
Kode terakhir layak digarisbawahi. Di web server lain, 503 biasanya berarti server kewalahan. Di IIS, 503.0 hampir selalu berarti application pool-nya mati, bukan servernya penuh. Penyebab tersering adalah perlindungan rapid-fail: bila proses pekerja gagal berkali-kali dalam waktu singkat, IIS mematikan pool tersebut agar tidak terus-menerus mencoba. Solusinya bukan menambah memori, melainkan mencari tahu kenapa aplikasi itu gagal dinyalakan, lalu menghidupkan kembali pool-nya.
Untuk 500.19 dan 500.30, satu kebiasaan menghemat banyak waktu: matikan sementara pesan error ramah di browser, atau buka situsnya langsung dari server. IIS hanya menampilkan rincian penyebab kepada permintaan yang datang dari komputer lokal.
Kelemahan IIS dan Kapan Ia Tetap Masuk Akal
Ada beberapa hal yang perlu Anda timbang sebelum memilih IIS.
- Terikat sepenuhnya pada Windows. Tidak ada IIS untuk Linux maupun macOS, dan tidak akan pernah ada. Memakai IIS berarti membayar lisensi Windows Server, biaya yang tidak muncul sama sekali kalau Anda memakai Nginx di atas Linux.
- Versinya tidak bisa dinaikkan sendiri. Menginginkan fitur IIS yang lebih baru berarti menaikkan seluruh sistem operasi — pekerjaan yang jauh lebih besar daripada memperbarui satu paket perangkat lunak.
- Ekosistemnya jauh lebih sepi. Data W3Techs per Agustus 2026 menempatkan IIS di 3,1% dari seluruh situs yang web server-nya terdeteksi, sementara Nginx di 31,6% dan Apache di 23,0%. Akibatnya jumlah tutorial, modul pihak ketiga, dan diskusi forum untuk IIS jauh lebih sedikit.
- Jejak sumber dayanya lebih besar. IIS membawa serta seluruh Windows. Server dengan RAM 1 GB yang lapang untuk Nginx akan terasa sesak untuk Windows Server dengan IIS.
- Konfigurasinya rewel. Format XML di
web.configtidak memaafkan kesalahan kecil. Satu tag yang tidak ditutup membuat seluruh aplikasi membalas 500.19, bukan sekadar mengabaikan baris yang salah.
Meski begitu, angka 3,1% tadi menyembunyikan sesuatu. Dipecah per peringkat situs, IIS dipakai 6,5% situs dalam 100.000 teratas — dua kali lipat pangsa keseluruhannya. IIS jarang dipakai blog kecil, tetapi umum di situs korporat besar.
Jadi kapan IIS pilihan yang tepat? Ada tiga situasi yang jelas. Pertama, aplikasi Anda dibangun di atas ASP.NET Framework, yang memang tidak bisa berjalan di tempat lain. Kedua, organisasi Anda memakai Active Directory dan membutuhkan autentikasi Windows terintegrasi. Ketiga, tim yang merawat servernya adalah administrator Windows, sehingga memaksakan Linux justru menambah risiko.
Sebaliknya, kalau seluruh aplikasi Anda berjalan di atas PHP, Node.js, atau Python, tidak ada alasan teknis memilih IIS. Untuk mencoba IIS di luar komputer sendiri, Anda membutuhkan server yang bisa dipasangi Windows Server. VPS Indonesia menyediakan template Windows di samping pilihan Linux.
Pertanyaan yang Sering Muncul
Apa yang dimaksud dengan IIS? Dalam konteks teknologi web, IIS adalah web server buatan Microsoft yang menjadi bagian dari sistem operasi Windows. Ia bertugas menerima permintaan dari browser dan mengirim balik halaman web, sebagaimana Apache dan Nginx melakukannya di server Linux.
IIS singkatan dari apa? Kepanjangan IIS adalah Internet Information Services. Secara harfiah, IIS artinya "layanan informasi internet" — nama yang dipilih Microsoft pada 1995, ketika istilah "web server" belum sepopuler sekarang.
Apakah IIS gratis? IIS sendiri tidak dijual terpisah karena merupakan komponen Windows. Namun untuk memakainya di server produksi, Anda tetap membayar lisensi Windows Server.
Apakah IIS bisa berjalan di Linux? Tidak. IIS terikat pada komponen internal Windows seperti HTTP.sys, sehingga tidak tersedia untuk Linux maupun macOS. Bila aplikasi Anda ASP.NET Core, aplikasinya sendiri bisa dipindah ke Linux, tetapi tanpa IIS.
Apa beda IIS dan IIS Express? IIS Express adalah versi ringkas untuk pengembangan: tidak berjalan sebagai layanan, tidak menuntut hak administrator, dan secara bawaan hanya melayani permintaan dari komputer itu sendiri. IIS penuh dirancang untuk melayani pengunjung sungguhan.
Apa versi IIS terbaru saat ini? IIS 10.0, yang hadir sejak 2015 dan masih dibawa oleh Windows Server 2025. IIS 11 belum pernah dirilis, dan IIS 9 tidak pernah ada sama sekali.
Kesimpulan
IIS adalah web server buatan Microsoft yang menyatu dengan Windows, bukan aplikasi terpisah yang diunduh dan dipasang. Kekuatannya terletak pada integrasi dengan ekosistem Microsoft, terutama autentikasi Active Directory dan aplikasi .NET. Kekuatan kedua ada pada isolasi lewat application pool, yang membuat satu situs bermasalah tidak menjatuhkan situs lain di server yang sama.
Keterbatasannya berasal dari sumber yang sama: karena ia bagian dari Windows, Anda ikut menanggung lisensi, siklus pembaruan, dan kebutuhan sumber daya sistem operasinya. IIS masuk akal ketika aplikasi dan tim Anda memang sudah berada di lingkungan Microsoft. Di luar itu, web server berbasis Linux hampir selalu jalan yang lebih ringan. Semoga artikel ini membantu.




