Structured Fields: HTTP-Header bekommen feste Struktur
Ein Internetstandard soll HTTP-Header aufräumen und diese leichter nutzbar machen. Dafür gibt es Anleihen aus Programmiersprachen.
Die Internet Engineering Task Force (IETF) hat den RFC 8941 als Standard veröffentlicht. Darin festgelegt werden sogenannte Structured Fields, also etwa strukturierte Felder, die den bisherigen Umgang mit den omnipräsenten HTTP-Headern deutlich vereinfachen sollen. Denn mit dem Standard wird eine klar definierte Syntax für HTTP-Header festgeschrieben, die deutlich restriktiver ist als die bisherigen eher freien Regeln für den Aufbau von HTTP-Headern.
Maßgeblich an den Arbeiten an der Technik beteiligt war der Covorsitzende der HTTP-Arbeitsgruppe innerhalb der IETF, Mark Nottingham. In einem sehr ausführlichen Blogeintrag für seinen Arbeitgeber Fastly hatte Nottingham bereits im vergangenen Sommer die Notwendigkeit für die neuen Structured Fields der HTTP-Header dargelegt. Demnach sorge das bisherige Vorgehen der eher freien Syntax bei HTTP-Headern für "Interoperabilitätsprobleme, Entwicklungsschmerzen und sogar Sicherheitslücken". Der neue Standard soll dies zunächst für neue HTTP-Header lösen. Langfristig könnten die neuen Regeln auch auf alte Header übertragen werden.
Für die nun standardisierten Structured Fields, die neben Headern auch sogenannte Trailer sein können, haben die Beteiligten Techniken aus Programmiersprachen entlehnt und Datentypen definiert. Dazu zählen Integer, Dezimalwerte, Strings, Token, Byte-Sequenzen und boolesche Werte. Hinzu kommen Listen und Dictionaries, also eine Sammlung von Schlüssel-Wert-Paaren. Darüber hinaus legt der Standard fest, wie diese serialisiert und geparst werden.
Einfachere HTTP-Header werden bereits genutzt
Dieser klar definierte Neuaufbau soll dafür sorgen, dass sich HTTP-Felder künftig deutlich leichter und vor allem ohne zahlreiche Fehler oder Ausnahmeregeln parsen lassen. Die Serialisierung sollte außerdem die Latenz und Skalierbarkeit von Internetinfrastruktur verbessern, die die Felder verarbeiten muss, da dies künftig schlicht einfacher geht. Ebenso könnte sich die Header-Kompression effizienter gestalten lassen, was insbesondere für CDNs oder ähnliche Netze gilt, die oft vielfach gleichartige Header von zahlreichen Clients an den eigentlichen Zielserver weiterleiten.
Die Structured Fields werden bereits in den Browsern Chrome und Firefox für einige neuere Sicherheitsfunktionen genutzt. Deren Implementierungen in C++ und Rust können ebenso weiterverwendet werden, wie eine Vielzahl weiterer Umsetzungen in verschiedenen Programmiersprachen. Die HTTP-Arbeitsgruppe hat außerdem eine Testsuite für eigene Implementierungen bereitgestellt.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed









Die Zeitzone muss aktuell immer schon UTC sein, siehe RFC7231. Wenn man davon ausgeht...
Es ist für alle HTTP-Versionen. Header-Felder sind erst einmal nur ASCII-Text, abhängig...