Zum Hauptinhalt springen

3. Format

Abschnitt 6 von [HTTP] definiert die allgemeine Struktur von HTTP-Nachrichten. Dieses Format beschreibt, wie diese Teile in eine Bytefolge zusammengesetzt werden. Auf hoher Ebene bestehen binäre Nachrichten aus:

  1. Framing-Indikator - Eine einzelne Ganzzahl
  2. Für Antworten - Null oder mehr informative Antworten
  3. Kontrolldaten - Anfragemethode/-ziel oder Statuscode
  4. Header-Abschnitt - Null oder mehr Header-Felder
  5. Inhalt - Bytesequenz
  6. Trailer-Abschnitt - Null oder mehr Trailer-Felder
  7. Optionales Padding - Beliebige Anzahl von Null-Bytes

Alle Längen werden mit der Variable-Length-Integer-Kodierung aus Abschnitt 16 von [QUIC] kodiert.

3.1. Known-Length-Nachrichten

Anfragen oder Antworten mit bekannter Länge verwenden Längenpräfixe für alle Hauptkomponenten.

3.2. Indeterminate-Length-Nachrichten

Nachrichten ohne bekannte Länge verwenden Längenpräfixe nur für Inhaltsblöcke.

3.3. Framing-Indikator

Werte: 0=Known-Length Request, 1=Known-Length Response, 2=Indeterminate Request, 3=Indeterminate Response

3.4-3.8. Weitere Abschnitte

Kontrolldaten, Header, Inhalt, Padding werden gemäß Spezifikation kodiert.