HTTP/2 Server Push: Difference between revisions

Content deleted Content added
No edit summary
Update lead
Line 6:
}}
 
'''HTTP/2 Server Push''' allowsis an optional<ref>{{Cite web |date=May 2015 |title=Hypertext Transfer Protocol Version 2 (HTTP/2) |url=https://www.rfc-editor.org/rfc/rfc7540 |url-status=live |quote=A client can request that server push be disabled}}</ref> feature of [[HTTP/2]]-compliant and [[HTTP/3]] [[Communication protocol|network protocols]] which allows server to send resources to an HTTP/2-complianta client before the client requests them. Server Push is a performance technique aimed at reducing latency by loading resources preemptively, even before the client knows they will be needed.<ref>{{Cite web |last=Staff |first=Ars |date=2015-02-18 |title=HTTP/2 finished, coming to browsers within weeks |url=https://arstechnica.com/information-technology/2015/02/http2-finished-coming-to-browsers-within-weeks/ |access-date=2023-01-12 |website=Ars Technica |language=en-us}}</ref> In practice, Server Push frequently results in wasted bandwidth because the server rarely knows which resources are already loaded by the client and transmits the same resource multiple times, resulting in slowdowns if the resources being pushed compete for bandwidth with resources which were actually requested.<ref name=":0">{{Cite web |date=2020-11-11 |title=Intent to Remove: HTTP/2 and gQUIC server push |url=https://groups.google.com/a/chromium.org/g/blink-dev/c/K3rYLvmQUBY/m/vOWBKZGoAQAJ?pli=1 |url-status=live |archive-url=https://web.archive.org/web/20211128080039/https://groups.google.com/a/chromium.org/g/blink-dev/c/K3rYLvmQUBY/m/vOWBKZGoAQAJ?pli=1 |archive-date=2021-11-28 |access-date=2022-04-12 |website=[[Google Groups]] |language=en}}</ref>
 
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>