1. Introduction (Einführung)
Das Hypertext Transfer Protocol (Hypertext-Übertragungsprotokoll, HTTP) ist ein zustandsloses Anfrage-/Antwort-Protokoll auf Anwendungsebene, das erweiterbare Semantik und selbstbeschreibende Nachrichten-Nutzdaten für flexible Interaktion mit netzwerkbasierten Hypertext-Informationssystemen verwendet. Dieses Dokument ist Teil 2 der siebenteiligen Spezifikation, die das als "HTTP/1.1" bezeichnete Protokoll definiert und zusammengenommen RFC 2616 obsolet macht.
HTTP bietet eine einheitliche Schnittstelle zur Interaktion mit einer Ressource (Section 2), unabhängig von deren Typ, Natur oder Implementierung, über die Manipulation und Übertragung von Repräsentationen (Section 3).
Die HTTP-Semantik umfasst die durch jede Anfragemethode definierten Absichten (Section 4), Erweiterungen dieser Semantik, die in Anfrage-Header-Feldern beschrieben werden können (Section 5), die Bedeutung von Statuscodes zur Angabe einer maschinenlesbaren Antwort (Section 6) sowie andere Steuerdaten und Ressourcen-Metadaten, die in Antwort-Header-Feldern angegeben werden können (Section 7).
Dieses Dokument definiert die HTTP-Anfrage- und Antwort-Semantik sowie die zugehörigen Header-Felder, die diese Semantik bereitstellen. Andere Teile der HTTP/1.1-Spezifikation definieren, wie eine Nachricht übertragen wird (Teil 1 - Message Syntax and Routing), bedingte Anfragen und Cache-Kontrolle (Teil 4 - Conditional Requests), Bereichsanfragen (Teil 5 - Range Requests) und Authentifizierung (Teil 7 - Authentication).
1.1. Conformance and Error Handling (Konformität und Fehlerbehandlung)
Die Schlüsselwörter "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" und "OPTIONAL" in diesem Dokument sind wie in [RFC2119] beschrieben zu interpretieren.
Konformitätskriterien und Überlegungen zur Fehlerbehandlung sind in Section 2.5 von [RFC7230] definiert.
1.2. Syntax Notation (Syntaxnotation)
Diese Spezifikation verwendet die Augmented Backus-Naur Form (ABNF)-Notation von [RFC5234] mit einer Listenerweiterung, die in Section 7 von [RFC7230] definiert ist und eine kompakte Definition von durch Komma getrennten Listen unter Verwendung eines '#'-Operators ermöglicht (ähnlich wie der '*'-Operator Wiederholung anzeigt). Anhang B beschreibt aus anderen Dokumenten importierte Regeln. Anhang C zeigt die gesammelte Grammatik mit allen zu Standard-ABNF-Notation erweiterten Listenoperatoren.
Diese Spezifikation verwendet die Begriffe "character", "character encoding scheme", "charset" und "protocol element", wie sie in [RFC6365] definiert sind.