-
Notifications
You must be signed in to change notification settings - Fork 157
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
Extensibility framework #57
Comments
We should pick a few example extensions and make them available as fully supported options. Some interesting options are probably:
Being able to implement these cleanly would be a good indication that whatever approach we come up with is probably flexible enough to support a wide variety of extensions. |
A worthy goal. I'm having an existential crisis with draft-kerwin-http2-encoded-data because I'm not confident HTTP/2's extensibility model is sufficient to support it. If a sender (erroneously) sends a GZIPPED_DATA frame to a receiver that doesn't know of the extension, the recipient MUST discard the frame, so data is lost, but there's no way to detect the problem and no way to fail or recover. alt-svc seems like an obvious extension to target, because it seems to have the most inertia and potential support. |
@phluid61 Have you considered using the "advertise support with SETTINGS field" logic I'm using in draft-benfield-http2-p2p? Basically, you can't send GZIPPED_DATA unless the remote peer has sent a SETTINGS_SUPPORT_GZIPPED_DATA = 1 first? |
Is it worth mentioning that problem on the mailing list? |
Yeah, I've been sitting on it, waiting to see if I came up with a solution. I think I'll ask my |
This wasn't hijacking, it was useful discussion! It means when the thread comes up on the ML I'll be able to jump in more helpfully! |
HTTP/2 is extendable: it's one of its great strengths. It would be really nice if H2 was relatively easily extensible. We should aim to start supporting pluggable HTTP/2 extensions.
What do we need to do this? Well, the answer is: what can extensions do?
This will also require work in hyperframe.
The text was updated successfully, but these errors were encountered: