Zum Hauptinhalt springen

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. Introduction (Einführung)

    • 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. Conformance (Konformität)

    • 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. Fields (Felder)

    • 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. Methods (Methoden)

    • 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. References (Referenzen)

    • 19.1. Normative References (Normative Referenzen)
    • 19.2. Informative References (Informative Referenzen)

Anhänge (Appendices)


Verwandte Ressourcen


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.