HTTP/2 Server Push: Difference between revisions

Content deleted Content added
Implementations: Add more LiteSpeed data
Add "History" section
Line 9:
 
HTTP/2 Server Push is not a notification mechanism from server to client. Instead, pushed resources are used by the client when it may have otherwise produced a request to get the resource anyway.<ref>{{Cite web |title=HTTP/2 server configurations |url=https://http2.co/http2-with-apache/ |url-status=live |archive-url=https://web.archive.org/web/20220327085843/https://http2.co/http2-with-apache/ |archive-date=2022-03-27 |access-date=2019-03-30 |website=HTTP/2 Space |language=en-US}}</ref><ref>{{cite IETF |title=Hypertext Transfer Protocol Version 2 (HTTP/2) |rfc=7540 |section=8.2 |sectionname=Server Push |page=60 |date=May 2015 |publisher=[[Internet Engineering Task Force]] |access-date=2015-05-06 |language=en-US |archive-url=https://web.archive.org/web/20220404104429/https://datatracker.ietf.org/doc/html/rfc7540 |archive-date=2022-04-04 |url-status=live}}</ref>
 
== History ==
On May 14, 2015, HTTP/2 was standardized by {{IETF RFC|7540}} ratified as a Proposed Standard. The document includes section 8.2 tiled "Server Push" which introduced the concept to the protocol as an optional extension. Google Chrome 40 became the first browser supporting the final standardized HTTP/2 version, including the optional Server Push.<ref>{{Cite web |last= |first= |date=2015-02-10 |title=Google announces SPDY’s coming demise as HTTP/2 approaches |url=https://arstechnica.com/information-technology/2015/02/google-announces-spdys-coming-demise-as-http2-approaches/ |access-date=2023-07-30 |website=Ars Technica |language=en-us}}</ref>
 
In February 2018, Nginx 1.13.9 was released with optional support for HTTP/2 Server Push.<ref name=":1" />
 
In October 2022, Google announced intent to remove Server Push from Google Chrome citing the poor performance of the extension in practice. Chrome 106 became the first release disabling Server Push bu default.<ref name=":2">{{Cite web |date=2022-08-18 |title=Removing HTTP/2 Server Push from Chrome |url=https://developer.chrome.com/blog/removing-push/ |access-date=2023-07-30 |website=Chrome Developers |language=en}}</ref>
 
== Basic concept ==
Line 50 ⟶ 57:
|[[Nginx]]
|Server
|1.13.9 (February 2018)<ref name=":1">{{Cite web |date=2018-12-04 |title=Changes with nginx 1.14.2 |url=https://nginx.org/en/CHANGES-1.14 |url-status=live |archive-url=https://web.archive.org/web/20220407053209/https://nginx.org/en/CHANGES-1.14 |archive-date=2022-04-07 |website=[[Nginx]] |language=en-US}}</ref>
|1.25.1 (June 2023)<ref>{{Cite web |date=13 June 2023 |title=Changes with nginx 1.25.1 |url=https://nginx.org/en/CHANGES |url-status=live |access-date=12 July 2023 |website=[[Nginx]]}}</ref>
|-
Line 61 ⟶ 68:
|Client
|Yes
|106 (September 2022)<ref name=":0" /><ref>{{Cite web |datename=2022-08-18 |title=Removing HTTP/":2" Server Push from Chrome |url=https://developer.chrome.com/blog/removing-push/ |access-date=2023-07-12 |website=Chrome Developers |language=en}}</ref><ref>{{Cite web |date=2022-10-31 |title=Remove HTTP/2 push |url=https://chromestatus.com/feature/6302414934114304 |url-status=live |access-date=2023-07-12 |website=chromestatus.com}}</ref>
|-
|[[Firefox]]