HTTP/1.1: Mehr Überblick und Sicherheit durch neue RFC

Mit der Veröffentlichung einer ganzen Reihe neuer RFC (Request for Comments) wird das 1999 veröffentlichte Regelwerk RFC2616 obsolet. Zum einen wurden in den neuen RFC zahlreiche sprachliche Unklarheiten ausgeräumt, zum anderen wurden sie auch ergänzt, um Veränderungen im Web Rechnung zu tragen. Außerdem gibt es einige Änderungen, die die Sicherheit erhöhen sollen.
Entwickler sollten RFC2616 entsorgen, schreibt Mark Nottingham(öffnet im neuen Fenster) , der Leiter der IETF-Arbeitsgruppe HTTPbis(öffnet im neuen Fenster) , die seit sieben Jahren an dem neuen Regelwerk feilt. Seitdem HTTP auch für andere Techniken genutzt werde als nur für die Auslieferung von Webseiten, mussten neue Szenarien abgeklärt und neue Regeln formuliert werden, etwa für Ajax oder HTML5.
Auf den aktuellen Stand gebracht
Auch einige sicherheitsrelevante Änderungen seien in die neuen RFC eingeflossen, etwa um HTTP Response Splitting zu vermeiden, das als Basis für Cross-Site-Scripting-Attacken genutzt werden kann. Zu den anderen Änderungen gehören beispielsweise das Verbot mehrzeiliger Headers oder die Entfernung von ISO-8859-1 als Standardzeichensatz.
Der Status Code 308 wurde jetzt als Standard definiert. Clients sollen darüber künftig auf veränderte Adressen mit der gleichen Methode umgeleitet werden, was etwa die Gefahr des URL-Hijackings vermeiden soll. Die Status Codes 301 und 302 erlauben das Umschreiben der POST- in eine GET-Methode. Das wurde längst überall praktiziert, wird aber jetzt offiziell unterstützt.
Jeder neue RFC hat am Ende eine Zusammenfassung aller Änderungen. Es gibt jetzt insgesamt sechs davon:
• RFC 7230 – HTTP/1.1(öffnet im neuen Fenster) : Message Syntax and Routing
• RFC 7231 – HTTP/1.1(öffnet im neuen Fenster) : Semantics and Content
• RFC 7232 – HTTP/1.1(öffnet im neuen Fenster) : Conditional Requests
• RFC 7233 – HTTP/1.1(öffnet im neuen Fenster) : Range Requests
• RFC 7234 – HTTP/1.1(öffnet im neuen Fenster) : Caching
• RFC 7235 – HTTP/1.1(öffnet im neuen Fenster) : Authentication



