Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server PUSH #1194

Open
krizhanovsky opened this issue Feb 20, 2019 · 0 comments
Open

Server PUSH #1194

krizhanovsky opened this issue Feb 20, 2019 · 0 comments
Labels
cache enhancement h2 question Questions and support tasks
Milestone

Comments

@krizhanovsky
Copy link
Contributor

krizhanovsky commented Feb 20, 2019

HTTP/2 server PUSH for proxy and server move (if #471 (Web-server mode) is done by the time of the issue) should be implemented. Link header (RFC 5988) with preload must be used for proxy mode. See corresponding Nginx http2_push_preload option and how H2O handles the header, e.g. CASPer. Another option, which must be implemented is 103 Early Hints (see Reorganizing Website Architecture for HTTP/2 and Beyond slides 38-39).

Server pushed responses must be cached according to RFC 7540 10.4 with the necessary server authority validation. When a cached response is pushed, the h2 priority must be determined using the priority attribute of the MIME-type configuration (see H2O for an example), so a MIME response parser as for #902 is required.

Pushed responses must set header x-http2-push: pushed.

In full HTTP/2 proxy mode (#1125) we need just to proxy the server PUSH to a client. PUSH_PROMISE logic must be implemented to initiate PUSH from the cache and stop it if a client responds with RST_STREAM.

We also should implement PUSHin diary as Apache HTTPD.

Cache digests are still in draft, but being accepted must be implemented as part of the issue.

UPD HTTP/2 Server PUSH is going to die. QUIC still requires it though, so the task depends on #724: we need to implement it only if QUIC requires it.

@krizhanovsky krizhanovsky added enhancement question Questions and support tasks labels Feb 20, 2019
@krizhanovsky krizhanovsky mentioned this issue Feb 23, 2019
7 tasks
@krizhanovsky krizhanovsky added h2 and removed question Questions and support tasks labels Mar 5, 2020
@krizhanovsky krizhanovsky changed the title HTTP/2 server PUSH Server PUSH Mar 5, 2020
@krizhanovsky krizhanovsky added the question Questions and support tasks label Feb 13, 2021
@krizhanovsky krizhanovsky modified the milestones: 1.xx TBD, backlog Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cache enhancement h2 question Questions and support tasks
Projects
None yet
Development

No branches or pull requests

1 participant