A Brief History of HTTP: How HTTP Evolved

Описание к видео A Brief History of HTTP: How HTTP Evolved

HTTP has evolved since the Web was created in 1989. The first RFC document published by the Internet Engineering Task Force (IETF) was published in 1996. Follow the history of HTTP throughout the years until today (June 2022), when a new series of RFC documents was published, standardizing HTTP/1.1, HTTP/2, and HTTP/3.

HTTP/1.0 was published as RFC 1945 in May 1996. Work on a new version was already underway, but this documented the current and stable practice at that point.

HTTP/1.1 was first published in January 1997 as RFC 2068. The biggest change over HTTP/1.0 may be that it introduced persistent connections and pipelining. It therefore used TCP/IP much more efficiently, and since Web pages used more and more resources (HTML, images, CSS, scripts, ...), this improvement helped a lot to make the Web faster.

In June 1999 RFC 2616 was published, which improved the specification of HTTP/1.1, but was not a different version of HTTP. RFC 2616 remained the reference for 15 years.

Because 2616 was big and hard to read, and because work had started on a new version of HTTP, in June 2014 a series of RFC was published which replaced RFC 2616. This series still standardized HTTP/1.1 and had RFCs 7230-7035 in it. RFC 7231 specifically was a "Semantics" document which talked about what HTTP concepts such as request methods, header fields, and status codes mean, without talking about their specific representation on the wire in HTTP/1.1.

Based on the HTTP semantics it was now possible to create new wire formats, which happened with the publication of HTTP/2 as RFC 7540 in May 2015. This protocol was originally known as SPDY and introduced binary representations and the multiplexing of interactions on one TCP connection, creating significant performance enhancements over HTTP/1.1.

In June 2022 a new series of RFCs was published, RFC 9110 to 9114. RFC 9110 defines the HTTP semantics and now is the reference for the concepts of HTTP. RFC 9112 is an updated version of HTTP/1.1. RFC 9113 is an updated version of HTTP/2. RFC 9114 is a new version of HTTP, HTTP/3, which makes further performance improvements by replacing TCP with a different transport protocol: It uses UDP and then a relatively new protocol called QUIC which makes data transfers of independent streams more efficient.

It is likely that the RFC 9110 to 9114 series of documents now will remain stable for many years. A lot of work went into improving prior documents and aligning all three wire variants of HTTP. The Web now can transition from old HTTP/1.1 to more modern but still TCP-based HTTP/2, and further to the UDP/QUIC based HTTP/3. This transition will take a while, and during this transition period these latest documents will be the ones that define how the Web works.

RFC 1945: Hypertext Transfer Protocol – HTTP/1.0 - https://datatracker.ietf.org/doc/html...
RFC 2068: Hypertext Transfer Protocol – HTTP/1.1 - https://datatracker.ietf.org/doc/html...
RFC 2616: Hypertext Transfer Protocol – HTTP/1.1 - https://datatracker.ietf.org/doc/html...
RFC 7230: Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing - https://datatracker.ietf.org/doc/html...
RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content - https://datatracker.ietf.org/doc/html...
RFC 7232: Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests - https://datatracker.ietf.org/doc/html...
RFC 7233: Hypertext Transfer Protocol (HTTP/1.1): Range Requests - https://datatracker.ietf.org/doc/html...
RFC 7234: Hypertext Transfer Protocol (HTTP/1.1): Caching - https://datatracker.ietf.org/doc/html...
RFC 7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication - https://datatracker.ietf.org/doc/html...
RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2): https://datatracker.ietf.org/doc/html...
RFC 9110: HTTP Semantics - https://datatracker.ietf.org/doc/html...
RFC 9111: HTTP Caching - https://datatracker.ietf.org/doc/html...
RFC 9112: HTTP/1.1 - https://datatracker.ietf.org/doc/html...
RFC 9113: HTTP/2 - https://datatracker.ietf.org/doc/html...
RFC 9114: HTTP/3 - https://datatracker.ietf.org/doc/html...


00:00 Introduction
00:39 HTTP/1.0: RFC 1945 (May 1996)
01:18 HTTP/1.1: RFC 2068 (January 1997)
02:18 RFC 2016 (June 1997): HTTP/1.1
03:15 RFC 7230-7235 (June 2014): HTTP/1.1
04:22 RFC 7540 (May 2015): HTTP/2
05:34 RFC 9110-9114 (June 2022): HTTP/1.1, HTTP/2, and HTTP/3
07:55 Wrapping it up

Комментарии

Информация по комментариям в разработке