A webkiszolgáló/webszerver egy kiszolgáló, amely elérhetővé teszi a rajta tárolt weblapokat a HTTP protokollon keresztül. A webszerverekhez webböngészőkkel lehet kapcsolódni.

Bár a webszerverek sok mindenben különböznek, az alapvető funkcióik azonosak. Minden webszerver HTTP kéréseket fogad a hálózatról, és HTTP válaszokat küld vissza. A HTTP válasz az esetek többségében egy HTML dokumentum, de lehet még egyszerű szöveges fájl, kép, vagy más típusú fájl is.

Kérés

A webszerverek a klienstől kapott kérésekben többek között URL címet kapnak, melyet aztán kétféleképpen értelmezhet a szerver a beállításaitól függően:

  1. A tartománynév után álló relatív mappa és fájl struktúrát hozzárendelik egy gyökérmappához. (A gyökérmappa a webszerver beállításaiban van megadva, és az adatokat kérő kliens számára láthatatlan. További információk a 3.1.1 fejezetben.)
  2. A tartománynév után álló relatív mappa és fájlstruktúra (vagy akár még a tartománynév is) teljesen független a kért címben szereplő struktúrától. Ebben az esetben szerver meghatározott szabályok szerint formázza a kért címet. Ennek segítségével egy mappára irányuló kérés teljesen más mappára vagy akár egy fájlra is mutathat és fordítva.

A kliens például az alábbi URL-t kéri: http://www.pelda.com/utvonal/cikk.html

A kliens webböngészője ezt értelmezve létrehoz egy kapcsolatot a www.pelda.com kiszolgálóval, és elküldi a következő HTTP 1.1 kérést:

GET /utvonal/cikk.html HTTP 1.1
Host: www.pelda.com
…

Válasz

  1. A www.pelda.com címet megfelelteti a webszerver az adott gyökérmappához (pl. /var/www/pelda), amelyhez hozzáfűzi a /utvonal/cikk.html elérést – ezzel megtörtént a megfeleltetés a fájlrendszer erőforráshoz. A kért eredmény a szerveren tehát: /var/www/pelda/utvonal/cikk.html. Ezt követően a webszerver ellenőrzi, hogy kiszolgálható-e az adott kérés, ill. hogy létezik-e. Ha nem létezik, akkor 404-es hibakóddal tér vissza. Ha hozzáférhető, akkor beolvassa, elvégzi rajta az esetleges további műveleteket, majd elküldi a kliensnek. A válasz természetesen szintén magában foglalja a megfelelő fejlécet.
  2. Válasz egy HTML állomány esetén

  3. A második megoldás esetében, az erőforrásokhoz történő megfeleltetés előtt a címet átformázza. Például:
www.pelda.com/toplista/kutyak+es+macskak

URL kérést a következőképpen alakíthatja át:

/var/www/pelda/toplista.php?cim=kutyak+es+macskak