Webszerver címtárindex

Article

July 5, 2022

Amikor egy HTTP-kliens (általában egy webböngésző) olyan URL-t kér, amely egy címtárszerkezetre mutat a címtárszerkezeten belüli tényleges weboldal helyett, a webszerver általában egy alapértelmezett oldalt szolgál ki, amelyet gyakran fő vagy " index" oldalon. Az ilyen oldalak elterjedt fájlneve az index.html, de a legtöbb modern HTTP szerver kínál egy konfigurálható fájlnevlistát, amelyet a szerver indexként használhat. Ha egy kiszolgáló úgy van beállítva, hogy támogassa a szerveroldali parancsfájlokat, a lista általában olyan bejegyzéseket tartalmaz, amelyek lehetővé teszik dinamikus tartalom indexoldalként való használatát (pl. index.cgi, index.pl, index.php, index.shtml, index.jsp, default.asp) még akkor is, ha célszerűbb mégis megadni a HTML kimenetet (index.html.php vagy index.html.aspx), mivel ezt nem szabad természetesnek venni. Példa erre a népszerű nyílt forráskódú Apache webszerver, ahol a fájlnevek listáját a DirectoryIndex direktíva szabályozza a fő kiszolgáló konfigurációs fájljában vagy az adott könyvtár konfigurációs fájljában. Lehetőség van arra, hogy egyáltalán ne használjunk fájlkiterjesztéseket, és semleges legyen a tartalomszolgáltatási módokkal szemben, és beállítsuk a szervert, hogy a tartalomegyeztetés során automatikusan válassza ki a legjobb fájlt. Ha a szerver nem talál fájlt a konfigurációjában felsorolt ​​nevek egyikével sem, akkor vagy hibát ad vissza (általában 403-as indexlista tiltva vagy 404-es nem található), vagy létrehozhat egy saját indexoldalt, amely felsorolja a könyvtárban található fájlokat. Általában ez a gyakran autoindexnek nevezett opció is konfigurálható.

Történelem

Egy olyan sémát, amelyben a webszerver alkönyvtáronként szolgál ki egy alapértelmezett fájlt, már az NCSA HTTPd 0.3beta verziója (1993. április 22.) támogatta, amely alapértelmezés szerint az index.html fájlt szolgálja ki a könyvtárban. Ezt a sémát a CERN HTTPd legalább 2.17beta (1994. április 5.) óta alkalmazza, amely az NCSA-eredetű index.html mellett a Welcome.html és welcome.html fájlokat is alapértelmezés szerint támogatja. A későbbi webszerverek általában támogatják ezt az alapértelmezett fájlsémát ilyen vagy olyan formában; ez általában konfigurálható, az index.html az egyik alapértelmezett fájlnév.

Megvalósítás

Egyes esetekben a webhely kezdőlapja nyelvi lehetőségek menüje lehet a földrajzi célzást használó nagy webhelyek számára. Ez a lépés elkerülhető is, például a tartalomegyeztetés használatával. Azokban az esetekben, amikor nem létezik ismert index.* fájl egy adott könyvtárban, a webszerver beállítható úgy, hogy helyette automatikusan generált listát biztosítson a könyvtárban található fájlokról. Az Apache webszerver esetében például ezt a viselkedést a mod_autoindex modul biztosítja, és a webszerver konfigurációs fájljaiban az Options +Indexes direktíva vezérli. Ezek az automatizált címtárlisták néha biztonsági kockázatot jelentenek, mivel olyan érzékeny fájlokat sorolnak fel, amelyeket esetleg nem nyilvános hozzáférésre szántak, a címtárindexelési támadásnak nevezett folyamat során. Az ilyen biztonsági hibás konfiguráció más támadásokban is segíthet, például útvonal- vagy címtárbejárási támadásban.

Előadások

Egy címtár elérésekor a különféle elérhető indexmódszerek eltérő hatással lehetnek az operációs rendszer erőforrásainak használatára (RAM, CPU-idő stb.), és így a webszerver teljesítményére is. A leggyorsabb módszertől a leglassabb felé haladva itt a lista: statikus indexfájl használatával, pl.: index.html stb.; egy általában autoindex nevű webszerver szolgáltatás használata (ha nem létezik indexfájl), hogy a webszerver a belső modulja segítségével automatikusan létrehozza a címtárlistát; a webszerver belső programértelmezője által beolvasott értelmezett fájl használatával, pl.: index.php; CGI futtatható és lefordított program használatával, pl.: index.cgi.

Irodalom