HTTP im Detail
Was ist HTTP? (HyperText Transfer Protocol)
HTTP ist das Protokoll, das für die Anzeige von Webseiten verwendet wird. Es wurde zwischen 1989 und 1991 von Tim Berners-Lee und seinem Team entwickelt. HTTP regelt die Kommunikation zwischen Webbrowsern und Webservern und ermöglicht das Übertragen von Daten wie HTML, Bildern und Videos.
Was ist HTTPS?
HTTPS ist die sichere Version von HTTP. Es verschlüsselt die übertragenen Daten und sorgt dafür, dass du sicher mit dem richtigen Webserver kommunizierst.
Was ist eine URL?
Eine URL (Uniform Resource Locator) ist eine Anweisung, wie auf eine Ressource im Internet zugegriffen werden kann. Eine typische URL besteht aus mehreren Teilen:
Diagramm-Erklärung:
- Scheme: Das Protokoll, z. B. HTTP oder HTTPS.
- Host: Der Domainname oder die IP-Adresse des Servers.
- Port: Der Verbindungspunkt, oft 80 für HTTP und 443 für HTTPS.
- Path: Der Pfad zur gewünschten Ressource.
- Query String: Zusätzliche Parameter, die an die Ressource übermittelt werden.
- Fragment: Ein Anker zu einem spezifischen Teil der Seite.
HTTP-Anfragen und -Antworten
HTTP-Anfragen
Wenn du eine Website aufrufst, sendet dein Browser Anfragen an den Server. Eine einfache Anfrage könnte so aussehen:
```
GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 Firefox/87.0
```
HTTP-Antworten
Der Server antwortet mit einer Nachricht, die den angeforderten Inhalt und Statusinformationen enthält:
```
HTTP/1.1 200 OK
Server: nginx/1.15.8
Content-Type: text/html
Content-Length: 98
```
HTTP-Methoden und Statuscodes
Gängige HTTP-Methoden:
- GET: Informationen vom Server abrufen.
- POST: Daten an den Server senden.
- PUT: Vorhandene Daten auf dem Server aktualisieren.
- DELETE: Daten vom Server löschen.
Gängige HTTP-Statuscodes:
- 200 OK: Anfrage war erfolgreich.
- 301 Moved Permanently: Ressource wurde dauerhaft verschoben.
- 400 Bad Request: Anfrage war fehlerhaft.
- 404 Not Found: Ressource wurde nicht gefunden.
- 500 Internal Server Error: Serverfehler.
HTTP-Header: Zusätzliche Informationen
HTTP-Header übermitteln zusätzliche Informationen zwischen Client und Server.
Gängige Anfrage-Header:
- Host: Zielserver für die Anfrage.
- User-Agent: Informationen über den verwendeten Browser.
- Accept-Encoding: Komprimierungsmethoden, die der Browser unterstützt.
Gängige Antwort-Header:
- Content-Type: Typ der gesendeten Daten (z. B. HTML).
- Content-Encoding: Verwendete Komprimierungsmethode.