Nettserverkatalogindeks

Article

July 4, 2022

Når en HTTP-klient (vanligvis en nettleser) ber om en URL som peker til en katalogstruktur i stedet for en faktisk nettside i katalogstrukturen, vil webserveren vanligvis tjene en standardside, som ofte refereres til som en hoved- eller " indeks"-siden. Et vanlig filnavn for en slik side er index.html, men de fleste moderne HTTP-servere tilbyr en konfigurerbar liste over filnavn som serveren kan bruke som en indeks. Hvis en server er konfigurert til å støtte skripting på serversiden, vil listen vanligvis inneholde oppføringer som lar dynamisk innhold brukes som indekssiden (f.eks. index.cgi, index.pl, index.php, index.shtml, index.jsp, default.asp) selv om det kan være mer hensiktsmessig å fortsatt spesifisere HTML-utdata (index.html.php eller index.html.aspx), da dette ikke skal tas for gitt. Et eksempel er den populære åpen kildekode-webserveren Apache, hvor listen over filnavn kontrolleres av DirectoryIndex-direktivet i hovedserverens konfigurasjonsfil eller i konfigurasjonsfilen for den katalogen. Det er mulig å ikke bruke filutvidelser i det hele tatt, og være nøytral til innholdsleveringsmetoder, og sette serveren til automatisk å velge den beste filen gjennom innholdsforhandling. Hvis serveren ikke kan finne en fil med noen av navnene som er oppført i konfigurasjonen, kan den enten returnere en feil (vanligvis 403 Index Listing Forbidden eller 404 Not Found) eller generere sin egen indeksside som viser filene i katalogen. Vanligvis er dette alternativet, ofte kalt autoindex, også konfigurerbart.

Historie

Et opplegg der webserveren serverer en standardfil på per-underkatalogbasis har blitt støttet så tidlig som NCSA HTTPd 0.3beta (22. april 1993), som som standard serverer index.html-filen i katalogen. Denne ordningen har deretter blitt tatt i bruk av CERN HTTPd siden minst 2.17beta (5. april 1994), hvis standard støtter Welcome.html og welcome.html i tillegg til den NCSA-opprinnelige index.html. Senere webservere støtter vanligvis dette standard filskjemaet i en eller annen form; dette er vanligvis konfigurerbart, med index.html som et av standard filnavn.

Implementering

I noen tilfeller kan hjemmesiden til et nettsted være en meny med språkalternativer for store nettsteder som bruker geografisk målretting. Det er også mulig å unngå dette trinnet, for eksempel ved å bruke innholdsforhandling. I tilfeller der det ikke finnes en kjent index.*-fil i en gitt katalog, kan webserveren konfigureres til å gi en automatisk generert liste over filene i katalogen i stedet. Med Apache-nettserveren, for eksempel, leveres denne oppførselen av mod_autoindex-modulen og kontrolleres av Options +Index-direktivet i webserverens konfigurasjonsfil. Disse automatiserte katalogoppføringene er noen ganger en sikkerhetsrisiko fordi de oppregner sensitive filer som kanskje ikke er ment for offentlig tilgang, i en prosess kjent som et katalogindekseringsangrep. En slik feilkonfigurasjon av sikkerheten kan også hjelpe til med andre angrep, for eksempel et bane- eller kataloggjennomgangsangrep.

Forestillinger

Når du får tilgang til en katalog, kan de forskjellige tilgjengelige indeksmetodene også ha en annen innvirkning på bruken av OS-ressurser (RAM, CPU-tid, etc.) og dermed på nettserverytelsen. Fortsetter fra raskeste til tregeste metode, her er listen: ved å bruke en statisk indeksfil, f.eks.: index.html, etc.; bruke en webserverfunksjon vanligvis kalt autoindex (når ingen indeksfil eksisterer) for å la webserveren autogenerere katalogoppføringer ved å bruke dens interne modul; ved å bruke en tolket fil lest av webserverens interne programtolk, f.eks.: index.php; ved å bruke et kjørbart og kompilert CGI-program, f.eks.: index.cgi.

Referanser