-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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
x/net/http2: toggle HPACK dynamic table indexing for header #15592
Comments
That's some weird documentation. You can't use HTTP/2 without HPACK, so of course "APNs requires the use of HPACK". Do they actually hang up on you if you encode things differently than they'd like? In any case, what are you asking for? Do you want a change in the hpack interface, or a new bool option on *http2.Transport, or at which level? |
I can't comment on the quality of Apple's documentation, but what they recommend in terms of dynamic table indexing appears to be reasonable. The feature request would be to allow a way to tell the HTTP/2 HPACK encoder to encode a specific header/field pair as a literal without indexing. I see that Other than my above suggestion I'm unsure what the best plan would be to expose the indexing options, other than that it probably should not be a |
So you're using the http2 package & hpack encoder directly, right? You're far away from that level of detail up in *http.Client land, but you want to control low-level details? |
I'm currently configuring a client with |
Does Apple actually reject your requests if they're encoded with indexing? |
Not as far as I am aware – at the very least they allow the connection to be alive long enough to successfully deliver all notifications. |
This seems pretty low priority, then. It sounds like somebody at Apple just got really excited about HTTP/2 and started writing docs from an ideal HTTP/2 point of view without considering that most HTTP client libraries wouldn't provide such nitty-gritty details via their high-level APIs (e.g. |
Often a service will have certain header fields that have no discernible repeatable pattern (or the possible combinations far outnumber the HPACK table slots). It would be good to be able to turn off HPACK for those headers so that these non-repeating values don't use up slots in the dynamic table.
Here's a quote from Apple's APNs documentation touching on this:
The text was updated successfully, but these errors were encountered: