Hva er egentlig en webserver?

Servere er en av de viktigste komponentene i det moderne internettet, men hva er forskjellen på ulike typer servere, og hva er en webserver?

Illustasjonsbilde

Kort fortalt; en server er en datamaskin som er satt opp til å utføre visse oppgaver i et nettverk. Disse maskinene er ofte spesialbygget og konfigurert for dette formålet og har som oftest ikke et grafisk brukergrensesnitt eller unødvendig programvare installert. De står som oftest sammen med hundrevis av andre servere i et datasenter.

Når vi snakker om en webserver så referer vi til en datamaskin som er konfigurert til å distribuere nettsider og annet nettinnhold til besøkende brukere. Webservere skiller seg ikke nødvendigvis fra andre typer servere når det gjelder maskinvare, men det er programvaren som er den viktigste komponenten.

Hvordan fungerer en webserver?

Hver gang vi besøker en nettside så sender vår nettleser en såkalt "HTTP-forespørsel" til webserveren hvor nettsiden ligger. Dette er svært enkelt forklart, og det finnes flere brikker i dette spillet som er grunnlaget for internett slik vi kjenner det.

HTTP-forespørselen sendes til webserveren, og webserveren svarer ved å sende et HTTP-svar som inneholder URL (linker) til innhold tilbake til nettleseren, som igjen bruker denne informasjonen til å bygge opp nettsiden. Hovedfunksjonen til en webserver er derfor å tolke en HTTP-forespørsel og svare med riktig URL slik at det forespurte innholdet kan lastes inn på brukerens enhet, for eksempel en datamaskin eller en mobiltelefon.

Statiske og dynamiske webservere

Forklaringen ovenfor gir en enkel innføring i hvordan en grunnleggende statisk webserver fungerer. Vi sier at den er statisk fordi det eneste den gjør er å motta HTTP-spørringer og svare med URL til de ulike filene.

Det neste steget er dynamiske webservere. Det er dette som er fundamentet i en moderne nettside, og er nødvendig for å kjøre dynamiske webapplikasjoner, som for eksempel WordPress. En dynamisk webserver har utvidet funksjonalitet og kan kjøre dynamisk kode for webapplikasjonen og svarer brukeren med statisk innhold som kan ses i en nettleser.

Dynamiske webservere henter inn innhold fra databaser, kjører kode og sender det ferdige resultatet over til brukeren. En dynamisk webserver er nødvendigvis mer kompleks og det er større muligheter for at ting kan gå galt eller bli tregt. I tillegg er det langt større mulighet for sikkerhetshull på en dynamisk webserver. Det å administrere samt å sette opp effektive webservere er et fag i seg selv, og kalles for DevOps. Dette er en viktig del av teamet som ligger bak moderne webapplikasjoner og nettsider.