Zum Hauptinhalt springen

1. Einführung

Dieses Dokument definiert ein einfaches Format zur Darstellung einer HTTP-Nachricht [HTTP], entweder Anfrage oder Antwort. Dies ermöglicht die Kodierung von HTTP-Nachrichten, die außerhalb eines HTTP-Protokolls übertragen werden können. Dies ermöglicht die Transformation vollständiger Nachrichten, einschließlich der Anwendung authentifizierter Verschlüsselung.

Das Design dieses Formats wird durch die Framing-Struktur von HTTP/2 [HTTP/2] und HTTP/3 [HTTP/3] informiert. Regeln zum Konstruieren von Nachrichten basieren auf den in HTTP/2 definierten Regeln, aber das Format selbst ist unterschiedlich; siehe Abschnitt 6.

Dieses Format definiert "message/bhttp", eine binäre Alternative zum in [HTTP/1.1] definierten Inhaltstyp "message/http". Ein binäres Format ermöglicht eine effizientere Kodierung und Verarbeitung von Nachrichten. Ein binäres Format reduziert auch die Exposition gegenüber Sicherheitsproblemen im Zusammenhang mit der Verarbeitung von HTTP-Nachrichten.

Zwei Kodierungsmodi werden beschrieben:

  • eine Known-Length-Kodierung enthält Längenpräfixe für alle Hauptnachrichtenkomponenten, und
  • eine Indeterminate-Length-Kodierung ermöglicht eine effiziente Generierung von Nachrichten, bei denen die Längen zu Beginn der Kodierung nicht bekannt sind.

Dieses Format ist darauf ausgelegt, die Semantik gültiger HTTP-Nachrichten so einfach und effizient wie möglich zu vermitteln. Es ist nicht darauf ausgelegt, alle Details der Kodierung von Nachrichten aus bestimmten HTTP-Versionen [HTTP/1.1] [HTTP/2] [HTTP/3] zu erfassen. Als solches ist dieses Format wahrscheinlich nicht für Anwendungen geeignet, die von einer genauen Aufzeichnung der Kodierung von Nachrichten abhängen.