-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add new HTTP/2 frame #9
Comments
Thanks for this suggestion! My original reluctance to do this using a HTTP/2 frame was based on a few thoughts. Firstly, this may produce quite a lot of data. A new HTTP/2 frame is usually not flow-controlled (you can't flow-control a frame unless it's a negotiated extension), which means that it's possible to snarl up a connection by getting a peer to generate a lot of debugging information. That was a major part of the reasoning for moving to a request/response model for displaying the information: it allows us to ensure that the debugging information isn't higher priority than anything else. Second, a new frame requires both parties to opt-in to the behaviour. For example, you have said:
However, I don't think that Chrome will implement support for this functionality. The Google folks I chatted to last week didn't express much interest, anyway. That potentially causes problems: with the URI all clients can always retrieve this data, but with the frame they cannot. Of course, this is still a bit true if we switch to OPTIONS (see #7) rather than GET (though less-so than the custom frame). Altogether, I felt like the custom frame was a bigger implementation inconvenience than the well-known URI, especially as I'm not at all confident of getting the HTTPbis to take up this draft as a WG document, which means it will forever be at best an informational draft. I really don't love the idea of having a lot of stacks implementing an extension frame type that is defined in a document the HTTPbis doesn't want to standardise. |
Let's consolidate conversation in #7. It's basically the same topic. |
Currently proposed
/.well-known/h2interop/state
URL:Max-Forwards
) would generate response to this query,HTTP/2 frame:
chrome://net-internals
, etc.).The main advantage of handling this at the HTTP/2 level is the ability to add passive sanity checks and/or alerts, i.e. peers could indicate (via
SETTINGS
frame) that they want to receive this frame with the window size the other peer believes is still available (before eachDATA
frame or before frame with theEND_STREAM
flag), when sending window is exhausted, etc./cc: @bradfitz @louiscryan
The text was updated successfully, but these errors were encountered: