]> git.kaiwu.me - nginx.git/commit
HTTP/2: removed server push (ticket #2432).
authorSergey Kandaurov <pluknet@nginx.com>
Thu, 8 Jun 2023 12:56:46 +0000 (16:56 +0400)
committerSergey Kandaurov <pluknet@nginx.com>
Thu, 8 Jun 2023 12:56:46 +0000 (16:56 +0400)
commit6915d2fb2e88e0c339fe37b37ce14f5fe446c1c6
tree7abd9b350b80b07a2c96583025621151dffe1ba5
parentd32f66f1e8dc81a0edbadbacf74191684a653d09
HTTP/2: removed server push (ticket #2432).

Although it has better implementation status than HTTP/3 server push,
it remains of limited use, with adoption numbers seen as negligible.
Per IETF 102 materials, server push was used only in 0.04% of sessions.
It was considered to be "difficult to use effectively" in RFC 9113.
Its use is further limited by badly matching to fetch/cache/connection
models in browsers, see related discussions linked from [1].

Server push was disabled in Chrome 106 [2].

The http2_push, http2_push_preload, and http2_max_concurrent_pushes
directives are made obsolete.  In particular, this essentially reverts
7201:641306096f5b and 7207:3d2b0b02bd3d.

[1] https://jakearchibald.com/2017/h2-push-tougher-than-i-thought/
[2] https://chromestatus.com/feature/6302414934114304
auto/modules
src/http/v2/ngx_http_v2.c
src/http/v2/ngx_http_v2.h
src/http/v2/ngx_http_v2_filter_module.c
src/http/v2/ngx_http_v2_module.c
src/http/v2/ngx_http_v2_module.h