Az Internet Information Services (IIS, korábban Internet Information Server) a Microsoft által a Windows NT operációs rendszercsaládhoz készített bővíthető webszerver. Az IIS támogatja a HTTP, HTTPS, FTP, FTPS, SMTP és NNTP protokollokat. A Windows NT 4.0 óta a Windows NT alapú operációs rendszerek szerves részét képezi néhány kivételtől eltekintve (például Windows XP Home). Az IIS alapértelmezésben nincsen bekapcsolva a rendszereken. Az IIS Managert a Microsoft Management Console-on vagy a Vezérlőpultban, az Adminisztrációs eszközökön keresztül lehet elérni.

Történet Az első Microsoft webszerver egy tanulmányi projekt volt az Európai Microsoft Windows NT Akadémiai Központban (European Microsoft Windows NT Academic Centre, EMWAC – a skót Edinburgh Egyetem része), és ingyenes szoftverként volt terjesztve. Azonban mivel ez az EMWAC által fejlesztett webszerver nem volt képes kezelni a microsoft.com webcímre érkező nagy mértékű forgalmat, a Microsoft kénytelen volt megírni a saját webszerverét, az IIS-t.

Majdnem minden IIS verzió egy új Windows verzióval együtt volt megjelentetve: IIS 1.0, eredetileg egy ingyenes kiegészítő volt a Windows NT 3.51-hez IIS 2.0, Windows NT 4.0-val terjesztve IIS 3.0, a Windows NT 4.0-hoz kiadott Service Pack 2 részeként volt terjesztve, olyan újdonságokkal, mint az Active Server Pages dinamikus szkriptelés lehetősége. IIS 4.0, a Windows NT 4.0-hoz kiadott opcionális kiegészítőként volt terjesztve. IIS 5.0, a Windows 2000-rel együtt mutatták be, olyan új jellemzőkkel, mint az új hitelesítési módok támogatása, új adminisztrációs felület (Microsoft Management Console – MMC), a WebDAV protokoll támogatása, és az Active Server Pages továbbfejlesztése. Ezen verzióból eltávolították a Gopher protokoll támogatását. IIS 5.1, a Windows XP részeként terjesztették. Ez a verzió csaknem teljesen megegyezett a Windows 2000 részeként működő 5.0-s verzióval. IIS 6.0, a Windows Server 2003 illetve a Windows XP Professional x64 részeként terjesztették. Az IPv6 protokoll támogatása mellett főként biztonsági és megbízhatósági fejlesztéseket tartalmazott. IIS 7.0, a Windows Server 2008 és a Windows Vista részeként volt terjesztve. Ez a verzió a szoftver teljes újraírását hozta magával – az új moduláris felépítés által megnövekedett a teljesítmény, és a támadható felületek csökkentek, növelve a biztonságot. Ugyancsak ezen verzió részeként bevezették az új hierarchikus konfigurációs rendszert, ami egyszerűbb weboldal feltöltést tett lehetővé; új konzolos kezelési lehetőségeket; illetve egy új Windows Form alapú menedzselési felületet, illetve fejlesztették a .NET keretrendszer támogatását. Az IIS 7.0 Windows Vista rendszeren nem korlátozza az engedélyezett kapcsolatok maximális számát, mint ahogy Windows XP-n teszi, viszont az egyidejű kérések számát korlátozza 10-re (Windows Vista Ultimate, Business és Enterprise verzió) illetve 3-ra (Windows Vista Home Premium verzió). Az ezen felül érkező kéréseket sorba állítja, ami nincs jó hatással a teljesítményre, viszont a kapcsolatok nincsenek visszautasítva, mint Windows XP-n. IIS 7.5, a Windows 7 és a Windows Server 2008 R2 részeként jelent meg. A verzió főként a WebDAV és FTP modulokat illetve a PowerShellen keresztüli adminisztrációs lehetőségeket fejlesztette. Itt vezették be a TLS 1.1 illetve a TLS 1.2 támogatását, a Best Practices Analyzer eszközt, és a folyamat izolációt az applikációkhoz. IIS 8.0, a Windows 8 és a Windows Server 2012 részeként érhető el csak. A verzió többek között központi SSL tanúsítvány támogatást, applikáció inicializációt, és többmagos skálázhatóságot a Non-Uniform Memory Access hardvereken. IIS 8.5, a Windows 8.1 és a Windows Server 2012 R2 részeként mutatkozott be. Ez a verzió továbbfejlesztett naplózást, automatikus tanúsítvány hozzárendelést, dinamikus oldal aktiválást hozott magával egyebek mellett.

Az IIS minden verziója 7.0 alatt kliens rendszeren futtatva korlátozza az egyidejű kapcsolatok számát 10-ben, illetve egyszerre csak egy weboldalt képes kezelni.

A Microsoftot többen is kritizálták a korai Windows NT webszerver terjesztési és licencelési módjai miatt: a Workstation változat csak maximum 10 egyidejű TCP/IP kapcsolatot tett lehetővé, míg a jóval drágább Server verzió csak kevés extra funkcióval rendelkezett, viszont korlátlan számú kapcsolatot lehetővé tett. Úgy gondolták, a Microsoft a webszerver operációs rendszerhez való kapcsolásával azt akarja elérni, hogy a felhasználók ne használjanak alternatív webszervereket az olcsóbb változaton. A Netscape egy nyílt levélben hívta fel az Amerikai Igazságügyi Minisztérium antitröszttel foglalkozó részlegének figyelmét a szerinte technikailag megalapozatlan lépésre.

Jellemzők IIS 6.0-os verziótól kezdve a következő hitelesítési mechanizmusok támogatottak:

Anonymous hitelesítés Basic access hitelesítés Digest access hitelesítés Integrált Windows hitelesítés UNC hitelesítés .NET Passport hitelesítés (Windows Server 2008-ből és IIS 7.0-ból eltávolítva) Tanusítvány hitelesítés

Az IIS 7.0 architektúrája moduláris. A modulok (vagy kiegészítők) egyesével hozzáadhatók illetve eltávolíthatók, vagyis elég csak a kívánt funkcionalitást biztosító modulokat szükséges betölteni. Az IIS 7 tartalmaz számos natív modult teljes telepítés után. Ezek a kérésfeldolgozó modulok, illetve:

Biztonsági modulok: Biztonsággal kapcsolatos teendőket látnak el, mint a kérés-feldolgozó egység védelmét, kérés szűrést, hitelesítési séma meghatározást, URL hozzáférést. Tartalom modulok: A kérés-feldolgozó egységben tartalommal kapcsolatos teendőket látnak el, mint a statikus fájlok kiszolgálása, alapértelmezett oldal visszaadása (hibás kérés esetén például) vagy a tartalom listázása a könyvtárakban. Tömörítő modulok: A kérés-feldolgozó egységben látnak el tömörítéssel kapcsolatos teendőket, mint a válaszok Gzip tömörítése, vagy a statikus tartalmak előtömörítése. Gyorsítótár modulok: A kérés-feldolgozó egységben látnak egy gyorsítótárral kapcsolatos teendőket, mint a feldolgozott információk tárolása a szerver memóriájában, vagy tartalom szolgáltatása a gyorsítótárból (ha elérhető a tartalom a tárban). Naplózási és Diagnosztikai modulok: A kérés-feldolgozó egységben látnak el naplózási és diagnosztikai feladatokat, mint információk átadása a HTTP rendszernek naplózásra, kérések feldolgozásának nyomonkövetése, vagy más események naplózása.

Az IIS 7.5 a következő új és továbbfejlesztett biztonsági funkciókkal bír: Kliens tanúsítvány társítás IP biztonság Kérés szűrés Request filtering URL engedélyezés

A hitelesítés kicsit megváltozott az IIS 6.0 és IIS 7 között: az anonim felhasználó, aminek a neve eddig "IUSR_{számítógépnév}" volt, a Windows Vistában és a későbbi rendszereken egy beépített fiók lett, "IUSR" névvel. Azonban IIS7-ben a hitelesítési mechanizmusok külön modulokban találhatóak, így könnyen kiválasztható a kívánt hitelesítési mód.

Az IIS 8.0 főként a teljesítményre illetve a könnyebb adminisztrációra koncentrált. Az új funkciók:

Applikáció indítás: az adminisztrátornak lehetősége van beállítani programokat, amik a szerver indulásakor automatikusan elindulnak. Ez csökkenti azt az időt, amit a felhasználóknak kell várni hogy elérjék az oldalt a szerver újraindítása után. „Splash” oldal mutatása applikáció indítás közben: az adminisztrátor be tud állítani egy „splash” képet, amit a felhasználók láthatnak az oldal helyén, amíg az applikáció elindul. ASP.net 4.5 támogatás: az IIS 8.0 tartalmazza az ASP.net 4.5-öt, illetve tartalmaz konfigurációs beállításokat, hogy az ASP.net 4.5 egyszerre futhasson a régebbi ASP-net 3.5-tel. Központi SSL tanúsítvány támogatás: a funkció a tanúsítványok kezelését teszi könnyebbé azáltal, hogy lehetőséget ad arra, hogy a tanúsítványokat egy helyen, egy merevlemezen (vagy más tárolón) legyenek tárolva. Többmagos skálázás NUMA hardvereken: az IIS 8.0 számos beállítási lehetőséget tartalmaz a NUMA rendszerek teljesítményoptimalizálásához, mint például processzor affinitás beállítása a folyamatokhoz. WebSocket protokoll támogatás Szervernév-indikáció (Serve Name Indication – SNI): az SNI a TLS egy kiterjesztése, ami több weboldal különböző kiszolgálóneveinek hozzárendelését engedi egy IP címhez (hasonlóan ahogy a kiszolgáló headereket használják a nem SSL oldalakhoz). Dinamikus IP-cím-korlátozások: lehetőséget az adminisztrátorokank, hogy dinamikusan blokkoljanak IP címeket amelyek nagy mennyiségú kérést intéznek a szerver felé. Processzorszabályozás: beállítások gyűjteménye, mely lehetőséget az adminisztrátornak, hogy szabályozza a különböző applikáció csoportoknak, hogy milyen mértékben használhatják a processzort. Ennek segítségével a hatékonyságot lehet növelni olyan rendszereknél, ahol több weboldalt/applikációt futtatnak egy szerveren.

Az IIS 8.5 főként olyan nagy rendszerekhez használható fejlesztéseket tartalmaz, mint a Microsoft saját felhő kiszolgálója, vagy más, kereskedelmi hosting cégek szerverparkjai. Ezen felül tartalmaz pár naplózási és hibaelhárítási fejlesztést is. A főbb új funkciók:

Idle worker-Process page-out: az alvó (idle) oldalak felfüggesztése, hogy ne foglalják a memóriát. Dinamikus Oldal Aktiváció: a funkció csak azon oldalakhoz regisztrál figyelőket (listener), amelyekhez már érkezett kérés Fejlesztett naplózás: a fejlesztés lehetővé teszi a szerver változók, kérés/válasz fejlécek (request/response header) naplózását az IIS naplókban. ETW naplózás: egy ETW (Event Tracing for Windows – Windows Esemény Naplózás) kiszolgáló, amivel valós időben lehet naplókat készíteni különböző eseményekről Automatikus Tanúsítvány Hozzárendelés: a funkció érzékeli, ha egy oldal tanúsítványa megújult, és automatikusan hozzárendeli az oldalt.

IIS Express

Az IIS Express egy könnyített verziója az IIS-nek, ami ingyenesen elérhető az Windows XP SP3 és újabb Microsoft Windows operációs rendszerekre. Az IIS 7.5 Express csak a HTTP és a HTTPS protokollokat támogatja. Az IIS Expresst le lehet tölteni külön, vagy a WebMatrix részeként.

Bővítmények

Az IIS-hez új bővítmények jelennek meg a fő kiadások között, melyek új lehetőségeket biztosítanak a szoftverben. Az IIS 7.5-höz a következő bővítmények érthetőek el:

FTP Publishing Service: A tartalomkészítők fel tudják tölteni a tartalmukat biztonságosan az IIS7 szerverre SSL alapú hitelesítéssel és adattovábbítással. Administration Pack: Egy adminisztrációs felületet biztosít az IIS7 beállításaihoz, beleértve az ASP.NET engedélyeket, egyedi hibaüzenetek beállításait, FastCGI beállításait és a kérés szúrést. Application Request Routing: Egy proxy alapú routoló modul, ami a HTTP-kéréseket továbbítja a tartalom szerverekhez a kérés fejlécek, szerver változók és a forgalomelosztó (load balancing) algoritmusok alapján. Adatbázis Manager: Könnyű hozzáférést tesz lehetővé helyi és távoli adatbázisokhoz az IIS Manageren keresztül. Média szolgáltatások: Egy média kiszolgálót integrál az IIS-be, amivel a média- és egyéb tartalmakat lehet könnyen kiszolgálni és adminisztrálni. URL Rewrite Modul: Egy szabály alapú újraíró mechanizmus, ami a kérés URL címét írja át egy másikra mielőtt a kérés fel lenne dolgozva a webszerver által. WebDAV: Lehetőséget ad a tartalom biztonságos feltöltésére az IIS 7 webszerverre, és felületet biztosít az adminisztrátoroknak a WebDAV beállítások módosítására az IIS 7 eszközeivel. Web Deployment Tool: Szinkronizálja az IIS 6.0 és IIS 7 szervereket, migrálja az IIS 6 szervereket IIS 7-re, illetve weboldalak feltöltését is lehetővé teszi egy IIS 7 szerverre.

Használat