# 📜 En översikt över webben
```
author: krm
created: 2018-09-09  
status: alpha
```

# 👁️‍🗨️ Om detta avsnitt

- Det finns väldigt mycket vi kan säga om webben.
- Här koncentrerar vi oss på tekniska aspekter.
- Vi försöker vara överskådlig och inte gå in i på för många detaljer.

# ❓ Vad är webben

Webben är egentligen fyra olika saker som alla bygger kring idén om
hypertext.

- Webbserver som gör det möjligt att dela webbsidor.
- Webbklient som efterfrågar och tar emot webbsidor
- HTTP protokollet för att få webbläsaren och webbservern att prata
  med varandra.
- HTML med flera format som används för att beskriva hur en webbsida
  ska se ut.

Webben är ett sätt att kommunicera över internet på ett effektivt sätt
med hypertext. Den består av flera olika metoder och protokoll. I detta
kapitel ska vi lära oss om webbservern och framför allt skriver program
som kan köras på servern och svara på förfrågningar från en klient.

# 🤔 Några frågor kring webben

Vi använder webben varje dag. Så vad är det?
 
- Vad har du använt webben till?
- Har du haft problem med webben?
- Hur mycket tid ägnar du åt webben varje dag?
- Har du funderat på skillnaden på Internet och Webben?

# Varför har vi webben?

- För att på ett enkelt sätt kunna dela information mellan oss.

# Vad är ett protokoll?

Ett formellt språk för att kommunicera information mellan två objekt.

- Mycket vanliga i datorsammanhang.
- Framför allt för datorkommunikation

# Vad är hypertext?

Ett dokument där ett ord är länkat till ett annat dokument.

- Har gamla rötter långt innan webben.
- Blir ofta nödvändigt om du har mycket dokumentation som behövs i en
  organisation.
- Ofta så naturligt så vi inte tänker på det.

# Webbläsaren

En webbläsare render ett html dokument så den kan visas för en användare.

- Har funnits sedan den första webben.
- Arbetar med formaten html och css samt programmeringsspråket js.
- Idag finns det tre-fyra olika webbläsare som dominerar.
- Ett program som delar information på webben men inte visar det
  kallas webbklient.
- Att utveckla för en webbläsare kallas att man arbetar med
  "front-end".

# Webbserver

En webbserver är ett program som skickar en webbsida om den får en fråga
av en webklient.

- En webbserver arbetar alltid med protokollet http eller https.
- Det finns ett stor antal webbservrar idag med olika egenskaper.
- Ofta har webserver en modul som gör det möjligt att programmera den.
- En webbserver är också ofta kopplat till en databas.
- Att utveckla för en webbserver kallas att man arbetar med
  "back-end".

# Hur använder vi en webbserver?

- Vi lägger upp statiska html sidor.
- Vi använder programmering för att svara på anrop från klienten.
- Vi hämtar data ifrån en databaser och använder det i vårt svar.
- Vi implementerar säkra protokoll så kommunikationen blir säker.
- Vi använder ett ramverk för att underlätta detta.
