Zum Hauptinhalt springen

3. Dekodierung des Header-Blocks (Header Block Decoding)

3.1. Verarbeitung des Header-Blocks (Header Block Processing)

Ein Decoder verarbeitet einen Header-Block sequenziell, um die ursprüngliche Header-Liste zu rekonstruieren.

Ein Header-Block ist die Verkettung von Header-Feld-Darstellungen. Die verschiedenen möglichen Header-Feld-Darstellungen werden in Abschnitt 6 beschrieben.

Sobald ein Header-Feld dekodiert und der rekonstruierten Header-Liste hinzugefügt wurde, kann das Header-Feld nicht entfernt werden. Ein zur Header-Liste hinzugefügtes Header-Feld kann sicher an die Anwendung übergeben werden.

Durch Übergabe der resultierenden Header-Felder an die Anwendung kann ein Decoder mit minimalem transitorischem Speicheraufwand zusätzlich zum für die dynamische Tabelle erforderlichen Speicher implementiert werden.

3.2. Verarbeitung der Header-Feld-Darstellung (Header Field Representation Processing)

Die Verarbeitung eines Header-Blocks zur Erlangung einer Header-Liste ist in diesem Abschnitt definiert. Um sicherzustellen, dass die Dekodierung erfolgreich eine Header-Liste erzeugt, MUSS ein Decoder die folgenden Regeln befolgen.

Alle in einem Header-Block enthaltenen Header-Feld-Darstellungen werden in der Reihenfolge verarbeitet, in der sie erscheinen, wie unten angegeben. Details zur Formatierung der verschiedenen Header-Feld-Darstellungen und einige zusätzliche Verarbeitungsanweisungen finden sich in Abschnitt 6.

Eine indizierte Darstellung beinhaltet die folgenden Aktionen:

  • Das Header-Feld, das dem referenzierten Eintrag entweder in der statischen Tabelle oder der dynamischen Tabelle entspricht, wird der dekodierten Header-Liste hinzugefügt.

Eine literale Darstellung, die nicht hinzugefügt wird zur dynamischen Tabelle, beinhaltet die folgende Aktion:

  • Das Header-Feld wird der dekodierten Header-Liste hinzugefügt.

Eine literale Darstellung, die hinzugefügt wird zur dynamischen Tabelle, beinhaltet die folgenden Aktionen:

  • Das Header-Feld wird der dekodierten Header-Liste hinzugefügt.

  • Das Header-Feld wird am Anfang der dynamischen Tabelle eingefügt. Diese Einfügung könnte zur Entfernung vorheriger Einträge in der dynamischen Tabelle führen (siehe Abschnitt 4.4).