„Benutzen Sie RFC2616 nicht mehr. Löschen Sie ihn von ihrer Festplatte und aus Ihren Lesezeichen und verbrennen Sie ihn, falls Sie ihn ausgedruckt haben.“ Das schreibt der Vorsitzende der IETF-Arbeitsgruppe HTTPbis, Mark Notthingham, in seinem Blog.
Das Hypertext Transfer Protocol HTTP/1.1 ist wohl eines der wichtigsten Protokolle des heutigen Internet und hat Ihnen soeben diese Zeilen auf den Bildschirm transportiert. Seit seiner Veröffentlichung im Juni 1999 als RFC2616 hat sich viel verändert im Netz: Das Protokoll wurde nicht mehr nur fürs Websurfen verwendet, sondern alles Mögliche lief nach und nach über HTTP (WebDAV, Ajax, HTML5…). Dadurch führten kleine Unklarheiten und Unstimmigkeiten in RFC2616 immer wieder zu Missverständnissen und in der Folge Kompatibilitäts- oder Sicherheitsproblemen.
Deswegen hat die Internet Engineering Task Force IETF in 2007 eine Arbeitsgruppe namens HTTPbis gestartet, um die Spec zu verbessern. Sie sollte nicht weiterentwickelt und insbesondere nicht um neue Features erweitert werden, sondern lediglich besser aufgeschrieben. Dass dieser Vorgang sieben Jahre dauern wurde, hat die Macher selbst überrascht, aber nun ist es geschafft. RFC2616 ist Geschichte und das Protokoll HTTP/1.1 wird ab sofort in den folgenden sechs RFCs spezifiziert:
- RFC7230- HTTP/1.1: Message Syntax and Routing ? low-level message parsing and connection management
- RFC7231- HTTP/1.1: Semantics and Content ? methods, status codes and headers
- RFC7232- HTTP/1.1: Conditional Requests ? e.g., If-Modified-Since
- RFC7233- HTTP/1.1: Range Requests ? getting partial content
- RFC7234- HTTP/1.1: Caching ? browser and intermediary caches
- RFC7235- HTTP/1.1: Authentication ? a framework for HTTP authentication
Wenn immer Sie als Entwickler in Kontakt mit HTTP/1.1 geraten, beherzigen Sie also Mark Nottinghams Ratschlag und vergessen Sie RFC2616! (bo)