http rfc9110 rest web-architecture standards

HTTP-Semantik erklärt: Meistern Sie RFC 9110 für die moderne Webentwicklung

Verstehen Sie den Kern des Webs. Ein Leitfaden zu RFC 9110, der HTTP-Methoden, Statuscodes und Header-Semantik abdeckt.

2026-04-11

HTTP-Semantik erklärt: Meistern Sie RFC 9110 für die moderne Webentwicklung

Im Jahr 2022 veröffentlichte die IETF den RFC 9110, ein monumentales Dokument, das mehrere ältere RFCs (wie RFC 7231) ablöste, um die definitive Autorität für die HTTP-Semantik zu werden. Während HTTP/2 und HTTP/3 die Art und Weise änderten, wie Daten übertragen werden, bleiben die Semantiken – die Bedeutung von Methoden, Statuscodes und Headern – das Fundament des Webs.

Was ist RFC 9110 (HTTP-Semantik)?

RFC 9110 definiert die gemeinsame Architektur des Hypertext Transfer Protocol (HTTP). Er ist unabhängig von der Protokollversion (HTTP/1.1, HTTP/2 oder HTTP/3). Wenn Sie wissen wollen, was ein 403 Forbidden wirklich bedeutet oder wie sich eine POST-Anfrage im Vergleich zu PUT verhalten sollte, ist RFC 9110 die maßgebliche Quelle.

Er bietet ein einheitliches Vokabular für:

  • Ressourcen und Uniform Resource Identifiers (URIs).
  • Nachrichten (Anfragen und Antworten).
  • Methoden (GET, POST usw.).
  • Statuscodes (200, 404 usw.).
  • Header-Felder.

Kernprinzipien der HTTP-Semantik

1. Anfragemethoden und Idempotenz

Eines der wichtigsten Konzepte in RFC 9110 ist die Unterscheidung zwischen sicheren (Safe) und idempotenten (Idempotent) Methoden.

Methode Sicher Idempotent Beschreibung
GET Ja Ja Ruft Daten ohne Nebenwirkungen ab.
HEAD Ja Ja Wie GET, gibt aber keinen Body zurück.
PUT Nein Ja Ersetzt eine Ressource; Wiederholungen haben keine weiteren Auswirkungen.
DELETE Nein Ja Entfernt eine Ressource.
POST Nein Nein Verarbeitet Daten; mehrere Anfragen können mehrere Ressourcen erstellen.

2. Statuscode-Klassen

RFC 9110 organisiert Statuscodes in fünf Klassen:

  • 1xx (Information): Anfrage erhalten, Prozess wird fortgesetzt.
  • 2xx (Erfolg): Die Aktion wurde erfolgreich empfangen, verstanden und akzeptiert.
  • 3xx (Umleitung): Weitere Maßnahmen sind erforderlich, um die Anfrage abzuschließen.
  • 4xx (Client-Fehler): Die Anfrage enthält eine falsche Syntax oder kann nicht erfüllt werden.
  • 5xx (Server-Fehler): Der Server konnte eine offensichtlich gültige Anfrage nicht erfüllen.

Praktische Anwendungsszenarien

Design von RESTful APIs

Die Einhaltung von RFC 9110 stellt sicher, dass Ihre API erwartungskonform für Standard-HTTP-Clients und Caches funktioniert. Zum Beispiel die Verwendung von 201 Created nach einem erfolgreichen POST anstelle eines generischen 200 OK.

Cache-Optimierung

RFC 9110 definiert, wie die Header Vary, ETag und Last-Modified funktionieren. Eine korrekte Implementierung ermöglicht es CDNs und Browsern, Daten effizient zu zwischenspeichern und so die Serverlast zu reduzieren.

Content Negotiation

Das Protokoll ermöglicht es einem Client, ein bestimmtes Format anzufordern (z. B. Accept: application/json), woraufhin der Server mit der besten verfügbaren Darstellung antwortet.


Vergleich: RFC 7231 vs. RFC 9110

RFC 9110 hat die Funktionsweise von HTTP nicht grundlegend geändert, aber die Dokumentation erheblich verbessert:

  • Konsolidierung: Er fasste die Semantik aus mehreren Dokumenten in einem zusammen.
  • Klarheit: Er klärte zweideutige Punkte bezüglich Teilinhalten (Range-Anfragen) und Authentifizierung.
  • Versionierung: Er trennt explizit das „Was“ (Semantik) vom „Wie“ (HTTP/1.1 vs. HTTP/3).

FAQ

F: Gilt RFC 9110 nur für HTTP/1.1?
A: Nein. RFC 9110 definiert die Semantik, die für alle Versionen von HTTP gilt, einschließlich HTTP/2 und HTTP/3.

F: Was ist der Unterschied zwischen POST und PUT?
A: Laut RFC 9110 ist PUT idempotent (ersetzt die Ressource an einem bestimmten URI), während POST dies nicht ist (es sendet Daten zur Verarbeitung an die Ressource).

F: Wann sollte ich 403 statt 401 verwenden?
A: Verwenden Sie 401 Unauthorized, wenn eine Authentifizierung erforderlich ist und fehlgeschlagen ist oder nicht bereitgestellt wurde. Verwenden Sie 403 Forbidden, wenn der Server die Anfrage versteht, aber die Autorisierung verweigert (selbst bei gültigen Anmeldedaten).


Verwandte Tools