WWW-palvelin

Wikimedian palvelimia pinossa
Palvelinohjelmistojen jakautuma
WWW-palvelin tarkoittaa palvelintietokonetta tai palvelinohjelmistoa, joka jakaa verkkosivuja HTTP-protokollalla asiakasohjelmille ja koneille. HTML-kielellä kirjoitetut dokumentit muodostavat web-sivuja, jotka voidaan näyttää asiakaskoneessa selainohjelman avulla.
Palvelin ottaa vastaan HTTP-pyyntöjä TCP/IP-verkosta, joko maailmanlaajuisesta Internetistä tai intranetistä ja vastaa niihin. HTTP-pyyntö voi palauttaa HTML-dokumentin, tekstitiedoston, kuvan tai yleensä minkälaisen tahansa tiedoston tai virheen. Lähetettävän tiedoston tyypin kertoo asiakkaalle MIME-tiedostotyyppi. Palvelin voi asettaa myös asiakasohjelmalle pienen määrän dataa, jonka asiakasohjelma palauttaa palvelimelle hakiessaan seuraavaa dokumenttia. Näitä nimitetään evästeiksi (engl. cookie, keksi).
Lähetettyä dokumenttia nimitetään staattiseksi, jos se on olemassa oleva tiedosto palvelimella, joka lähetetään samanlaisena asiakaskoneelle. Dokumenttia nimitetään dynaamiseksi, jos se luodaan ohjelmallisesti palvelimella esim. tietokannan sisältämistä tiedoista.
Web-palvelin kerää yleensä lähettämistään tiedoista logia pyydetyistä dokumenteista, niiden koosta ja tyypeistä ja asiakaskoneista. Tämä mahdollistaa koneen ylläpitäjän seurata palvelimen toimintaa ja kerätä statistiikkaa kävijöistä analysoimalla lokitiedostoja.
Tietokone voidaan muuttaa palvelimeksi erillisen palvelinohjelmiston avulla. Käyttöjärjestelmän on tuettava TCP/IP-verkkoa, ja siinä on oltava Internet-yhteys. Palvelimissa on yleensä kiinteä verkkoyhteys ja pysyvä IP-osoite, jolle on määritelty nimi nimipalveluun. WWW-palvelimien nimi alkaa yleensä 'www.'
Ylläpitotarpeen vähentämiseksi on suosittua kerätä useita web-sivustoja samalle palvelimelle. Tätä nimitetään virtuaalipalvelimeksi (virtual hosting). Tällöin samalle tietokoneelle annetaan useampi nimi ja mahdollisesti useampi IP-osoite. Niin kutsutussa nimipohjaisessa virtuaalipalvelussa palvelimella on useampi nimi, ja asiakasohjelma pyytää dokumenttia palvelimelta palvelimen nimellä. Tämä käytäntö vaatii HTTP/1.1-protokollan käyttöä, joka tuli käyttöön kesällä 1999. Tätä edeltänyt tapa oli antaa tietokoneelle useita IP-osoitteita, joilla jokaisella oli eri nimi, ja palvelin sai palvelinnimen IP-osoitteen perusteella. IPv4-osoitteet ovat kuitenkin rajallinen resurssi, joten virtuaalipalvelun yleistyessä otettiin käyttöön uudempi HTTP-protokollan versio. Nykyisin samalla palvelimella ns. webhotelleissa pyörii jopa tuhansia eri web-sivustoja.
Vuoden 2006 alussa suosituin palvelinohjelmisto oli Apache Software Foundationin Apache HTTP Server, jota käytti yli 67 % Internetin palvelimista. Toisena on Microsoftin Internet Information Services (IIS) (20 %), kolmantena Sun Microsystemsin Sun Java System Web Server (2,5 %) (entisiltä nimiltään Sun ONE Web Server, iPlanet Web Server ja Netscape Enterprise Server) ja Zeus Technologyn Zeus Web Server. Helmikuussa 2021 nginx oli käytössä 34,54 % sivustoista, Apachen palvelin 26,32 %, Microsoftin 7,49 % ja OpenResty 6,21 % sivustoista. Syyskuussa 2021 Cloudflare on ohittanut Microsoftin tilastossa.
Erilaisia palvelinohjelmistoja on kaikkiaan tuhansia erilaisia.
Tehokkuusvaatimukset varsinkin staattisia sivuja jakavalle WWW-palvelimelle ovat pienet ja koneeksi käy vanhempikin. Pääasiassa palvelinlaitteistoissa on keskitytty luotettavuuteen mm. RAIDin käytöllä ja tiedonvarmistukseen.