HTTP
HTTP (Hypertext Transfer Protocol) ist ein zustandsloses Anwendungsprotokoll im Client-Server-Modell.
!200
Versionen
- 1.0 (1996) → nicht persistent
- 1.1 (1999) → persistent
- 2.0 (2015)→ zusätzlich Pipelining, Multiplexing
Ablauf
Rufe http://schotte.me/drive.html auf
- Nachdem der DNS-Server die IP adresse herausgefunden hat:
- http client initialisiert eine TCP Verbindung über Port 80
- Der Client sendet die GET HTTP Request via socket established in 1
- Der Server sendet die HTML Datei, welche in der HTTP Response verkapselt ist
- Der HTTP-Server sagt TCP, die Verbindung geschlossen werden soll
- Der Client erhält die HTML Datei und der Browser parsed sie.
HTTP ist zustandslos
HTTP selbst speichert keinen Zustand zwischen Anfragen.
Vorteile:
- Skalierbarkeit
Nachteile:
- Anwendungen benötigen eigenen Zustand (Shopping Cart etc.)
HTTP Caching Mechanism
HTTP/1.0 bietet Optionen wie:
If-modified-sincegibt "not modified" zurück wenn die source nicht seit einem gegebenen Datum verändert wurde- Header
Expireslegt fest wie lange es für den Client sicher ist seine Zieldatei zu cachen - Directive
no-cacheignoriert alle caches und fragt die Datei direkt beim Server an