-
Notifications
You must be signed in to change notification settings - Fork 337
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 compression dictionary negotiation and decoding to the fetch processing model #1739
Comments
From WICG/compression-dictionary-transport#52, the integration needs to specify that the |
I think there is enough implementer interest to proceed here. Apologies for the lack of updates on WebKit/standards-positions#160 until now. |
I'm working on a PR for Fetch now that incorporates the IETF draft. Looking at it, there are two paths I can take.
Option 2 would spell things out directly but would be duplicating a lot of the IETF draft (and require keeping both in sync as any errata or modifications are made). @annevk do you have a preference for one over the other? |
I'm having a hard time evaluating those options without more context. I think we have to setup the request and do some parts of the response processing as we also want to define the interaction with other HTTP headers and such. Invoking algorithms defined in the IETF specification would be good though where possible. |
Sorry, thinking through it more, it makes sense for fetch to include the steps for managing the dictionaries like it does with cache entries. Still a lot of fleshing out to do (and I need to define the actual dictionary storage) but does plugging it in something like this make sense? That moves all of the dictionary processing into a separate layer between cache and network. Does bypassing the middle step for clients that don't support dictionary compression make sense to include? I can move it to a work-in-progress PR so I can iterate on it there if the general framework looks like a good way to plug it in. |
Without thinking about it too much that looks reasonable. I don't think we need to make support optional. |
What problem are you trying to solve?
Compression dictionary transport provides a mechanism for using fetched resources as a compression dictionary for content-encoding of HTTP responses. The IETF draft for the http-level negotiation and compression is here.
Most of the HTTP-level negotiation is defined in the IETF draft but there are a few places where it intersects with the fetch processing model:
What solutions exist today?
No response
How would you solve it?
Add the necessary processing steps once we are comfortable that they are appropriate.
Anything else?
Chromium is currently the only browser engine experimenting with compression dictionaries so it might not make sense to fold into the standard quite yet but it is worth having the discussion to make sure that the implementation is something that we can all agree with before it gets too far.
The text was updated successfully, but these errors were encountered: