From Wikipedia, the free encyclopedia
 
Hypertext Transfer Protocol
HTTP logo.svg
International standard
  • RFC 1945 HTTP/1.0 (1996)
  • RFC 2068 HTTP/1.1 (1997)
  • RFC 2616 HTTP/1.1 (1999)
  • RFC 7230 HTTP/1.1: Message Syntax and Routing (2014)
  • RFC 7231 HTTP/1.1: Semantics and Content (2014)
  • RFC 7232 HTTP/1.1: Conditional Requests (2014)
  • RFC 7233 HTTP/1.1: Range Requests (2014)
  • RFC 7234 HTTP/1.1: Caching (2014)
  • RFC 7235 HTTP/1.1: Authentication (2014)
  • RFC 7540 HTTP/2 (2015)
  • RFC 7541 HTTP/2: HPACK Header Compression (2015)
  • RFC 8164 HTTP/2: Opportunistic Security for HTTP/2 (2017)
  • RFC 8336 HTTP/2: The ORIGIN HTTP/2 Frame (2018)
  • RFC 8441 HTTP/2: Bootstrapping WebSockets with HTTP/2 (2018)
  • RFC 8740 HTTP/2: Using TLS 1.3 with HTTP/2 (2020)
  • RFC 9114 HTTP/3
Developed byinitially CERN; IETF, W3C
Introduced1991; 31 years ago
Websitehttps://httpwg.org/specs/

The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, where hypertext documents include hyperlinks to other resources that the user can easily access, for example by a mouse click or by tapping the screen in a web browser.

Development of HTTP was initiated by Tim Berners-Lee at CERN in 1989 and summarized in a simple document describing the behavior of a client and a server using the first HTTP protocol version that was named 0.9.

That first version of HTTP protocol soon evolved into a more elaborated version that was the first draft toward a far future version 1.0.

Development of early HTTP Requests for Comments (RFCs) started a few years later and it was a coordinated effort by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C), with work later moving to the IETF.

HTTP/1 was finalized and fully documented (as version 1.0) in 1996. It evolved (as version 1.1) in 1997 and then its specifications were updated in 1999 and in 2014.

Its secure variant named HTTPS is used by more than 79% of websites.

HTTP/2 is a more efficient expression of HTTP's semantics "on the wire", and was published in 2015; used by more than 46% of websites, now supported by almost all web browsers (96% of users) and major web servers over Transport Layer Security (TLS) using an Application-Layer Protocol Negotiation (ALPN) extension where TLS 1.2 or newer is required.

HTTP/3 is the successor to HTTP/2, published in 2022; used by 25% of websites, it is now supported by many web browsers (73% of users). HTTP/3 uses QUIC instead of TCP for the underlying transport protocol. Like HTTP/2, it does not obsolesce previous major versions of the protocol. Support for HTTP/3 was added to Cloudflare and Google Chrome first, and is also enabled in Firefox. HTTP/3 has lower latency for real-world web pages, if enabled on the server, load faster than with HTTP/2, and even faster than HTTP/1.1, in some cases over 3× faster than HTTP/1.1 (which is still commonly only enabled).

Technical overview