Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
HTTP
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Summary of HTTP milestone versions === {| class="wikitable" |- !Version !Year introduced !Current status !Usage in {{As of|2024|08|bare=y}} !Support in {{As of|2024|08|bare=y}} |- |HTTP/0.9 |1991 |{{no|Obsolete}} |0 |100% |- |HTTP/1.0 |1996 |{{no|Obsolete}} |0 |100% |- |HTTP/1.1 |1997 |{{yes|Standard}} |33.8% |100% |- |[[HTTP/2]] |2015 |{{yes|Standard}} |35.3% |66.2% |- |[[HTTP/3]] |2022 |{{yes|Standard}} |30.9% |30.9% |} ====HTTP/0.9==== In 1991, the first documented official version of HTTP was written as a plain document, less than 700 words long, and this version was named HTTP/0.9, which supported only GET method, allowing clients to only retrieve HTML documents from the server, but not supporting any other file formats or information upload.<ref name="HTTP/0.9-specifications"/> ====HTTP/1.0-draft==== Since 1992, a new document was written to specify the evolution of the basic protocol towards its next full version. It supported both the simple request method of the 0.9 version and the full GET request that included the client HTTP version. This was the first of the many unofficial HTTP/1.0 drafts that preceded the final work on HTTP/1.0.<ref name="HTTP/1.0-first-unofficial-draft"/> ====W3C HTTP Working Group==== After having decided that new features of HTTP protocol were required and that they had to be fully documented as official [[Request for Comments|RFC]]s, in early 1995 the HTTP Working Group (HTTP WG, led by [[Dave Raggett]]) was constituted with the aim to standardize and expand the protocol with extended operations, extended negotiation, richer meta-information, tied with a security protocol which became more efficient by adding additional methods and [[List of HTTP header fields|header fields]].<ref name="raggettprofile">{{Cite web |last=Raggett |first=Dave |title=Dave Raggett's Bio |url=https://www.w3.org/People/Raggett/profile.html|publisher=World Wide Web Consortium |access-date=11 June 2010}}</ref><ref>{{cite web |last1=Raggett |first1=Dave |title=Hypertext Transfer Protocol Working Group |url=https://www.w3.org/Arena/webworld/httpwgcharter.html |publisher=World Wide Web Consortium |access-date=29 September 2010 |first2=Tim |last2=Berners-Lee}}</ref> The HTTP WG planned to revise and publish new versions of the protocol as HTTP/1.0 and HTTP/1.1 within 1995, but, because of the many revisions, that timeline lasted much more than one year.<ref>{{Cite web |last=Raggett |first=Dave |title=HTTP WG Plans |url=https://www.w3.org/Arena/webworld/httpwgplans.html |publisher=World Wide Web Consortium |access-date=29 September 2010}}</ref> The HTTP WG planned also to specify a far future version of HTTP called HTTP-NG (HTTP Next Generation) that would have solved all remaining problems, of previous versions, related to performances, low latency responses, etc. but this work started only a few years later and it was never completed. ====HTTP/1.0==== In May 1996, {{IETF RFC|1945}} was published as a final HTTP/1.0 revision of what had been used in previous 4 years as a pre-standard HTTP/1.0-draft which was already used by many web browsers and web servers. In early 1996 developers started to even include unofficial extensions of the HTTP/1.0 protocol (i.e. keep-alive connections, etc.) into their products by using drafts of the upcoming HTTP/1.1 specifications.<ref name="HTTP-Persistent-Connections"/> ====HTTP/1.1==== Since early 1996, major web browsers and web server developers also started to implement new features specified by pre-standard HTTP/1.1 drafts specifications. End-user adoption of the new versions of browsers and servers was rapid. In March 1996, one web hosting company reported that over 40% of browsers in use on the Internet used the new HTTP/1.1 header "Host" to enable [[virtual hosting]], and that by June 1996, 65% of all browsers accessing their servers were pre-standard HTTP/1.1 compliant.<ref>{{Cite web |title=HTTP 1.1 Compliant Browsers |url=https://www.webcom.com/glossary/http1.1.shtml |url-status=dead |archive-url=https://web.archive.org/web/19980204144926/http://www.webcom.com/glossary/http1.1.shtml |archive-date=1998-02-04 |access-date=2009-05-29 |work=webcom.com}}</ref> In January 1997, {{IETF RFC|2068}} was officially released as HTTP/1.1 specifications. In June 1999, {{IETF RFC|2616}} was released to include all improvements and updates based on previous (obsolete) HTTP/1.1 specifications. ====W3C HTTP-NG Working Group==== Resuming the old 1995 plan of previous HTTP Working Group, in 1997 an ''HTTP-NG Working Group'' was formed to develop a new HTTP protocol named HTTP-NG (HTTP New Generation). A few proposals / drafts were produced for the new protocol to use [[multiplexing]] of HTTP transactions inside a single TCP/IP connection, but in 1999, the group stopped its activity passing the technical problems to IETF.<ref name="HTTP-NG-Working-Group">{{Cite web|url=https://www.w3.org/Protocols/HTTP-NG/|title=HTTP-NG Working Group|website=www.w3.org|publisher=World Wide Web Consortium|year=1997|access-date=2021-10-19|language=en|author=}}</ref> ====IETF HTTP Working Group restarted==== In 2007, the IETF [https://httpwg.org/ HTTP Working Group] (HTTP WG bis or HTTPbis) was restarted firstly to revise and clarify previous HTTP/1.1 specifications and secondly to write and refine future HTTP/2 specifications (named httpbis).<ref name="HTTP-WG-2">{{Cite web|url=https://httpwg.org/|title=HTTP Working Group|website=httpwg.org|publisher=IETF|year=2007|access-date=2021-10-19|language=en|author=Web Administrator}}</ref><ref name="HTTP-WG-httpbis">{{Cite web|url=https://datatracker.ietf.org/wg/httpbis/charter/|title=HTTP Working Group: charter httpbis|website=datatracker.ietf.org|publisher=IETF|year=2007|access-date=2021-10-19|language=en|author=Web Administrator}}</ref> ====SPDY<nowiki>:</nowiki> an unofficial HTTP protocol developed by Google==== In 2009, [[Google]], a private company, announced that it had developed and tested a new HTTP binary protocol named [[SPDY]]. The implicit aim was to greatly speed up web traffic (specially between future web browsers and its servers). SPDY was indeed much faster than HTTP/1.1 in many tests and so it was quickly adopted by [[Chromium (web browser)|Chromium]] and then by other major web browsers.<ref name="SPDY-vs-HTTP/1.1">{{Cite web|url=http://dev.chromium.org/spdy/spdy-whitepaper|title=SPDY: An experimental protocol for a faster web|website=dev.chromium.org|publisher=Google|date=2009-11-01|access-date=2021-10-19|language=en|author=}}</ref> Some of the ideas about multiplexing HTTP streams over a single TCP/IP connection were taken from various sources, including the work of W3C HTTP-NG Working Group. ====HTTP/2==== In January–March 2012, HTTP Working Group (HTTPbis) announced the need to start to focus on a new HTTP/2 protocol (while finishing the revision of HTTP/1.1 specifications), maybe taking in consideration ideas and work done for SPDY.<ref name="HTTPbis-rechartering-prop">{{Cite web|url=https://lists.w3.org/Archives/Public/ietf-http-wg/2012JanMar/0098.html|title=Rechartering httpbis|publisher=IETF; HTTP WG|date=2012-01-24|access-date=2021-10-19|language=en|author=}}</ref><ref name="HTTPbis-rechartering-act">{{Cite web|url=https://lists.w3.org/Archives/Public/ietf-http-wg/2012JanMar/0902.html|title=WG Action: RECHARTER: Hypertext Transfer Protocol Bis (httpbis)|publisher=IETF; HTTP WG|date=2012-03-19|access-date=2021-10-19|language=en|author=IESG Secretary}}</ref> After a few months about what to do to develop a new version of HTTP, it was decided to derive it from SPDY.<ref name="HTTP/2-introduction">{{Cite web|url=https://developers.google.com/web/fundamentals/performance/http2|title=High Performance Browser Networking: Introduction to HTTP/2|website=developers.google.com|publisher=Google Inc.|date=2019-09-03|access-date=2021-10-19|language=en|author1=Ilya Grigorik|author2=Surma}}</ref> In May 2015, [[HTTP/2]] was published as {{IETF RFC|7540}} and quickly adopted by all web browsers already supporting SPDY and more slowly by web servers. ====2014 updates to HTTP/1.1==== In June 2014, the HTTP Working Group released an updated six-part HTTP/1.1 specification obsoleting {{IETF RFC|2616}}: * {{IETF RFC|7230}}, ''HTTP/1.1: Message Syntax and Routing'' * {{IETF RFC|7231}}, ''HTTP/1.1: Semantics and Content'' * {{IETF RFC|7232}}, ''HTTP/1.1: Conditional Requests'' * {{IETF RFC|7233}}, ''HTTP/1.1: Range Requests'' * {{IETF RFC|7234}}, ''HTTP/1.1: Caching'' * {{IETF RFC|7235}}, ''HTTP/1.1: Authentication'' ====HTTP/0.9 Deprecation==== In {{IETF RFC|7230}} Appendix-A, HTTP/0.9 was deprecated for servers supporting HTTP/1.1 version (and higher):<ref name="rfc7230-Appendix-A">{{cite IETF |rfc=7230 |sectionname=Appendix-A: HTTP Version History|appendix=A |title=RFC 7230, HTTP/1.1: Message Syntax and Routing|page=78}}</ref>{{Blockquote |text=Since HTTP/0.9 did not support header fields in a request, there is no mechanism for it to support name-based virtual hosts (selection of resource by inspection of the Host header field). '''Any server that implements name-based virtual hosts ought to disable support for HTTP/0.9'''. Most requests that appear to be HTTP/0.9 are, in fact, badly constructed HTTP/1.x requests caused by a client failing to properly encode the request-target. |multiline=yes |style=font-style: italic;}} Since 2016 many product managers and developers of user agents (browsers, etc.) and web servers have begun planning to gradually deprecate and dismiss support for HTTP/0.9 protocol, mainly for the following reasons:<ref name="HTTP/0.9-chrome-deprecated">{{Cite web|url=https://groups.google.com/a/chromium.org/g/blink-dev/c/OdKnpLlvVUo/m/1EpFGVUjAwAJ|title=Intent to Deprecate and Remove: HTTP/0.9 Support|website=groups.google.com|date=2016-06-30|access-date=2021-10-15|language=en|author=Matt Menke}}</ref> * it is so simple that an RFC document was never written (there is only the original document);<ref name="HTTP/0.9-specifications"/> * it has no HTTP headers and lacks many other features that nowadays are required for minimal security reasons; * it has not been widespread since 1999..2000 (because of HTTP/1.0 and HTTP/1.1) and is commonly used only by some very old network hardware, i.e. [[Router (computing)|routers]], etc. {{refn|group=note|In 2022, HTTP/0.9 support has not been officially completely deprecated and is still present in many web servers and browsers (for server responses only), even if usually disabled. It is unclear how long it will take to decommission HTTP/0.9.}} ====HTTP/3==== In 2020, the first drafts [[HTTP/3]] were published and major web browsers and web servers started to adopt it. On 6 June 2022, IETF standardized HTTP/3 as {{IETF RFC|9114}}.<ref>{{cite ietf|rfc=9114|title=HTTP/3|date=6 June 2022 |accessdate=2022-06-06}}</ref> ====Updates and refactoring in 2022==== In June 2022, a batch of RFCs was published, deprecating many of the previous documents and introducing a few minor changes and a refactoring of HTTP semantics description into a separate document. * {{IETF RFC|9110}}, ''HTTP Semantics'' * {{IETF RFC|9111}}, ''HTTP Caching'' * {{IETF RFC|9112}}, ''HTTP/1.1'' * {{IETF RFC|9113}}, ''HTTP/2'' * {{IETF RFC|9114}}, ''HTTP/3'' (see also the section above) * {{IETF RFC|9204}}, ''QPACK: Field Compression for HTTP/3'' * {{IETF RFC|9218}}, ''Extensible Prioritization Scheme for HTTP''
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)