RFC 9110 - HTTP Semantics (HTTP-Semantik)
- Status: Internet Standard
- Veröffentlicht: June 2022
- Stream: IETF
- Aktualisiert: RFC3864
- Ersetzt: RFC2818, RFC7230, RFC7231, RFC7232, RFC7233, RFC7235, RFC7538, RFC7615, RFC7694
- Errata: Keine Errata
Abstract
Das Hypertext Transfer Protocol (HTTP) ist ein zustandsloses Anwendungsprotokoll für verteilte, kollaborative Hypertext-Informationssysteme. Dieses Dokument definiert die Semantik von HTTP: Architektur, Terminologie, Anfragemethoden, Antwortstatuscodes, Headerfelder und verwandte Kernkonzepte.
Bedeutung: Dies ist die neueste HTTP-Kernspezifikation (2022), die für alle Versionen einschließlich HTTP/1.1, HTTP/2 und HTTP/3 gilt.
Contents (Inhalt)
Hauptabschnitte
-
- 1.1. Purpose (Zweck)
- 1.2. History and Evolution (Geschichte und Entwicklung)
- 1.3. Core Semantics (Kernbedeutung)
- 1.4. Specifications Obsoleted by This Document (Durch dieses Dokument ersetzte Spezifikationen)
-
- 2.1. Syntax Notation (Syntaxnotation)
- 2.2. Requirements Notation (Anforderungsnotation)
- 2.3. Length Requirements (Längenanforderungen)
- 2.4. Error Handling (Fehlerbehandlung)
- 2.5. Protocol Version (Protokollversion)
-
3. Terminology and Core Concepts (Terminologie und Kernkonzepte)
- 3.1. Resources (Ressourcen)
- 3.2. Representations (Darstellungen)
- 3.3. Connections, Clients, and Servers (Verbindungen, Clients und Server)
- 3.4. Messages (Nachrichten)
- 3.5. User Agents (Benutzeragenten)
- 3.6. Origin Server (Ursprungsserver)
- 3.7. Intermediaries (Vermittler)
- 3.8. Caches
- 3.9. Example Message Exchange (Beispiel für Nachrichtenaustausch)
-
4. Identifiers in HTTP (Kennungen in HTTP)
- 4.1. URI References (URI-Referenzen)
- 4.2. HTTP-Related URI Schemes (HTTP-bezogene URI-Schemata)
- 4.3. Authoritative Access (Autorisierter Zugriff)
-
- 5.1. Field Names (Feldnamen)
- 5.2. Field Lines and Combined Field Value (Feldzeilen und kombinierter Feldwert)
- 5.3. Field Order (Feldreihenfolge)
- 5.4. Field Limits (Feldgrenzen)
- 5.5. Field Values (Feldwerte)
- 5.6. Common Rules for Defining Field Values (Allgemeine Regeln zur Definition von Feldwerten)
-
6. Message Abstraction (Nachrichtenabstraktion)
- 6.1. Framing and Completeness (Rahmung und Vollständigkeit)
- 6.2. Control Data (Steuerungsdaten)
- 6.3. Header Fields (Headerfelder)
- 6.4. Content (Inhalt)
- 6.5. Trailer Fields (Trailer-Felder)
- 6.6. Message Metadata (Nachrichtenmetadaten)
-
7. Routing HTTP Messages (Routing von HTTP-Nachrichten)
- 7.1. Determining the Target Resource (Bestimmung der Zielressource)
- 7.2. Host and :authority
- 7.3. Routing Inbound Requests (Routing eingehender Anfragen)
- 7.4. Rejecting Misdirected Requests (Ablehnung fehlgeleiteter Anfragen)
- 7.5. Response Correlation (Antwortzuordnung)
- 7.6. Message Forwarding (Nachrichtenweiterleitung)
- 7.7. Message Transformations (Nachrichtentransformationen)
- 7.8. Upgrade (Aktualisierung)
-
8. Representation Data and Metadata (Darstellungsdaten und Metadaten)
- 8.1. Representation Data (Darstellungsdaten)
- 8.2. Representation Metadata (Darstellungsmetadaten)
- 8.3. Content-Type
- 8.4. Content-Encoding
- 8.5. Content-Language
- 8.6. Content-Length
- 8.7. Content-Location
- 8.8. Validator Fields (Validatorfelder)
-
- 9.1. Overview (Übersicht)
- 9.2. Common Method Properties (Gemeinsame Methodeneigenschaften)
- 9.3. Method Definitions (Methodendefinitionen)
-
10. Message Context (Nachrichtenkontext)
- 10.1. Request Context Fields (Anfragekontextfelder)
- 10.2. Response Context Fields (Antwortkontextfelder)
-
11. HTTP Authentication (HTTP-Authentifizierung)
- 11.1. Authentication Scheme (Authentifizierungsschema)
- 11.2. Authentication Parameters (Authentifizierungsparameter)
- 11.3. Challenge and Response (Herausforderung und Antwort)
- 11.4. Credentials (Anmeldeinformationen)
- 11.5. Establishing a Protection Space (Realm) (Einrichtung eines Schutzbereichs)
- 11.6. Authenticating Users to Origin Servers (Authentifizierung von Benutzern bei Ursprungsservern)
- 11.7. Authenticating Clients to Proxies (Authentifizierung von Clients bei Proxys)
-
12. Content Negotiation (Inhaltsverhandlung)
- 12.1. Proactive Negotiation (Proaktive Verhandlung)
- 12.2. Reactive Negotiation (Reaktive Verhandlung)
- 12.3. Request Content Negotiation (Anfrageinhaltsverhandlung)
- 12.4. Content Negotiation Field Features (Merkmale der Inhaltsverhandlungsfelder)
- 12.5. Content Negotiation Fields (Inhaltsverhandlungsfelder)
-
13. Conditional Requests (Bedingte Anfragen)
- 13.1. Preconditions (Vorbedingungen)
- 13.2. Evaluation of Preconditions (Bewertung von Vorbedingungen)
-
14. Range Requests (Bereichsanfragen)
- 14.1. Range Units (Bereichseinheiten)
- 14.2. Range
- 14.3. Accept-Ranges
- 14.4. Content-Range
- 14.5. Partial PUT
- 14.6. Media Type multipart/byteranges
-
15. Status Codes (Statuscodes)
- 15.1. Overview of Status Codes (Übersicht der Statuscodes)
- 15.2. Informational 1xx (Informativ)
- 15.3. Successful 2xx (Erfolgreich)
- 15.4. Redirection 3xx (Umleitung)
- 15.5. Client Error 4xx (Clientfehler)
- 15.6. Server Error 5xx (Serverfehler)
-
16. Extending HTTP (HTTP erweitern)
- 16.1. Method Extensibility (Methodenerweiterbarkeit)
- 16.2. Status Code Extensibility (Statuscode-Erweiterbarkeit)
- 16.3. Field Extensibility (Felderweiterbarkeit)
- 16.4. Authentication Scheme Extensibility (Authentifizierungsschema-Erweiterbarkeit)
- 16.5. Range Unit Extensibility (Bereichseinheiten-Erweiterbarkeit)
- 16.6. Content Coding Extensibility (Inhaltscodierung-Erweiterbarkeit)
- 16.7. Upgrade Token Registry (Upgrade-Token-Registrierung)
-
17. Security Considerations (Sicherheitserwägungen)
- 17.1. Establishing Authority (Feststellung der Autorität)
- 17.2. Risks of Intermediaries (Risiken von Vermittlern)
- 17.3-17.16. [Verschiedene Sicherheitsthemen]
-
18. IANA Considerations (IANA-Erwägungen)
- 18.1. URI Scheme Registration (URI-Schema-Registrierung)
- 18.2. Method Registration (Methodenregistrierung)
- 18.3-18.10. [Weitere Register]
-
- 19.1. Normative References (Normative Referenzen)
- 19.2. Informative References (Informative Referenzen)
Anhänge (Appendices)
- Appendix A. Collected ABNF (Gesammelte ABNF)
- Appendix B. Changes from Previous RFCs (Änderungen gegenüber früheren RFCs)
Verwandte Ressourcen
- Offizieller Text: RFC 9110
- Offizielle Seite: RFC 9110 DataTracker
- Errata: RFC Editor Errata
RFC 9110 verstehen
Umfassende HTTP-Spezifikations-Neuorganisation
RFC 9110 ist die neueste HTTP-Kernspezifikation, die im Jahr 2022 veröffentlicht wurde und die frühere RFC 7230-7235-Serie konsolidiert und ersetzt:
Alte Spezifikationen (2014):
- RFC 7230 - Message Syntax and Routing (Nachrichtensyntax und Routing)
- RFC 7231 - Semantics and Content (Semantik und Inhalt)
- RFC 7232 - Conditional Requests (Bedingte Anfragen)
- RFC 7233 - Range Requests (Bereichsanfragen)
- RFC 7234 - Caching
- RFC 7235 - Authentication (Authentifizierung)
Neue Spezifikationen (2022):
- RFC 9110 - Semantics (dieses RFC) ← Vereinheitlichte Kernspezifikation
- RFC 9111 - Caching
- RFC 9112 - HTTP/1.1
- RFC 9113 - HTTP/2
- RFC 9114 - HTTP/3
Bedeutung
RFC 9110 definiert Semantik, die von allen HTTP-Versionen gemeinsam genutzt wird, unabhängig davon, ob HTTP/1.1, HTTP/2 oder HTTP/3 verwendet wird. Dies macht das HTTP-Protokoll einheitlicher und einfacher zu verstehen.
Hinweis: Dieses Dokument wird übersetzt, und der Kapitelinhalt wird schrittweise vervollständigt.