Back to Top

PHNETZ - Internetagentur

Marketing für Ihren Erfolg

http

HTTP (Hypertext Transfer Protocol)

 

HTTP ist das grundlegende Anwendungs‑Protokoll des World Wide Web und definiert, wie Clients (z. B. Web‑Browser, mobile Apps) Anfragen an Server senden und Antworten empfangen. Es arbeitet über eine zuverlässige, verbindungsorientierte Transportschicht – in der Regel TCP – und nutzt ein textbasiertes Nachrichtenformat, das aus einer Start‑Zeile, optionalen Header‑Feldern und einem optionalen Nachrichten‑Body besteht.

 

1. Grundlegender Nachrichtenaufbau

Eine HTTP‑Nachricht beginnt mit einer Request‑Line (bei Anfragen) bzw. einer Status‑Line (bei Antworten). Darauf folgen Header‑Felder, die Metadaten wie Content‑Typ, Caching‑Richtlinien oder Authentifizierungs‑Informationen transportieren, und schließlich ein Body, der bei Anfragen Daten (z. B. Formular‑Inhalte) und bei Antworten die eigentliche Ressource (HTML, JSON, Bild) enthält.

 

2. Methoden (Verben)

  • GET – Anfrage einer Ressource, ohne Seiteneffekte, keine Body‑Daten.
  • POST – Senden von Daten zum Erzeugen oder Verarbeiten einer Ressource.
  • PUT – Vollständiges Ersetzen einer Ressource.
  • PATCH – Partielles Update einer Ressource.
  • DELETE – Entfernen einer Ressource.
  • HEAD – Wie GET, liefert jedoch nur Header, keinen Body.
  • OPTIONS – Rückgabe der unterstützten Methoden für die Ziel‑URL.
  • CONNECT – Aufbauen eines Tunnel (häufig für HTTPS über Proxy).
 

3. Status‑Codes

  • 1xx (Informativ): 100 Continue, 101 Switching Protocols.
  • 2xx (Erfolg): 200 OK, 201 Created, 204 No Content.
  • 3xx (Umleitung): 301 Moved Permanently, 302 Found, 304 Not Modified.
  • 4xx (Client‑Fehler): 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests.
  • 5xx (Server‑Fehler): 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable.
 

4. Header‑Felder (Beispiele)

  • Host: Angabe der Ziel‑Domain (erforderlich seit HTTP/1.1).
  • User‑Agent: Identifiziert den Client (Browser, App).
  • Accept: Gibt bevorzugte Medientypen an (z. B. text/html, application/json).
  • Content‑Type: Gibt den Medientyp des Bodys an (z. B. application/json).
  • Content‑Length: Größe des Bodys in Bytes.
  • Cache‑Control: Steuerung von Caching (z. B. no-cache, max‑age=3600).
  • Authorization: Überträgt Authentifizierungs‑Token (Basic, Bearer).
  • Cookie / Set‑Cookie: Austausch von Sitzungs‑ bzw. Zustandsinformationen.
 

5. Versionen

  • HTTP/0.9 – Sehr einfaches Protokoll, nur GET, kein Header.
  • HTTP/1.0 – Einführung von Header‑Feldern, Status‑Codes, getrenntes Request/Response‑Modell.
  • HTTP/1.1 – Persistente Verbindungen (Keep‑Alive), Chunked‑Transfer‑Encoding, Host‑Header, Verbesserungen bei Caching und Content‑Negotiation.
  • HTTP/2 – Binäres Framing, Multiplexing über eine einzige TCP‑Verbindung, Header‑Kompression (HPACK), Server‑Push.
  • HTTP/3 – Auf UDP‑Basis (QUIC), geringere Latenz, eingebaute Verschlüsselung, weitere Verbesserungen in Multiplexing und Verlusttoleranz.
 

6. Sicherheit

  • HTTPS: HTTP über TLS/SSL (Port 443) gewährleistet Vertraulichkeit, Integrität und Authentizität.
  • HSTS (Strict‑Transport‑Security): Header, der Browser zwingt, künftig nur HTTPS zu verwenden.
  • Content‑Security‑Policy (CSP): Steuert, welche Ressourcen (Skripte, Styles, Medien) geladen werden dürfen, um XSS zu verhindern.
  • SameSite‑Cookie‑Attribut: Reduziert CSRF‑Risiken.
 

7. Nutzung in modernen Anwendungen

  • REST‑APIs: Nutzen HTTP‑Methoden, Status‑Codes und standardisierte Medien‑Typen (JSON, XML).
  • GraphQL: Überträgt Anfragen meist via POST an einen einzigen Endpunkt.
  • WebSockets: Starten über ein HTTP‑Upgrade‑Handshake, danach binärer Voll‑Duplex‑Transport.