HTTP
* HTTP (Hypertext Transfer Protocol) er den underliggende protokol, der bruges af World Wide Web til at overføre data. Det er en statsløs , klient-server protokol.
HTTP-meddelelser udveksles mellem en klient (f.eks. en webbrowser) og en server (f.eks. en webserver).
Klienten sender en HTTP-anmodning til serveren, og serveren svarer med et HTTP-svar.
Struktur af HTTP-anmodning
Strukturen af en HTTP-anmodning består af følgende komponenter:
* Startlinje :Startlinjen for en HTTP-anmodning består af HTTP-versionen, HTTP-metoden og anmodningsstien eller URL-adressen.
For eksempel:
```
GET /index.html HTTP/1.1
```
* Overskrifter :Overskrifterne på en HTTP-anmodning indeholder oplysninger om klienten, anmodningen og den anmodede ressource. Nogle almindelige overskrifter inkluderer:
- User-Agent:Indeholder information om den brugeragent (f.eks. webbrowser), der foretager anmodningen.
- Host:Angiver værtsnavnet og porten på den server, som anmodningen sendes til.
- Accepter:Angiver de MIME-typer af svar, som klienten kan acceptere.
- Indholdstype:Angiver MIME-typen for anmodningens brødtekst.
* Krop :Brødteksten af en HTTP-anmodning kan indeholde data, som klienten sender til serveren. For eksempel, når du indsender en formular, er formulardataene typisk inkluderet i anmodningens brødtekst.
Struktur af HTTP-svar
Strukturen af et HTTP-svar består af følgende komponenter:
* Startlinje :Startlinjen for et HTTP-svar består af HTTP-versionen, statuskoden og statusmeddelelsen.
For eksempel:
```
HTTP/1.1 200 OK
```
- Statuskoden angiver, om anmodningen lykkedes (f.eks. 200 OK), eller om der var en fejl (f.eks. 404 ikke fundet, 500 intern serverfejl).
- Statusmeddelelsen er en menneskelig læsbar beskrivelse af statuskoden.
* Overskrifter :Headerne på et HTTP-svar indeholder oplysninger om serveren, svaret og den anmodede ressource. Nogle almindelige overskrifter inkluderer:
- Server:Indeholder information om den server, der svarer på anmodningen.
- Content-Type:Specificerer MIME-typen for svarets brødtekst.
- Content-Length:Angiver længden i bytes af svarets brødtekst.
* Krop :Brødteksten af et HTTP-svar kan indeholde den anmodede ressource eller andre data, som serveren leverer til klienten. For eksempel, når du anmoder om en HTML-side, vil brødteksten i svaret indeholde HTML-koden for siden.