http-extensions
http-extensions copied to clipboard
ZSDCH
https://learn.microsoft.com/en-us/deployedge/learnmore-zsdch-compression
There are aspects to this design that are appealing to me. (The uncoordinated deployment of this technology is a matter that I'll be taking up with colleagues at Microsoft.) It would be good to explore how this differs from the proposed design in the current draft, along with the consequences of that (for implementation, deployment, performance, architecture, etc...).
FWIW, I talked to the team at MS that had implemented it and, as far as I understood, they were exploring migrating to compression dictionaries instead.
It looks like it is very similar to the original SDCH except it is no longer blocking in the request path and uses zstd instead of vcdiff+gzip.
Fundamentally it is very similar to the dynamic use case for compression dictionaries but there are some key differences:
- Dictionaries appear to be scoped to the full origin.
- Multiple dictionaries can be advertised as available (we intentionally prevented that to keep Vary permutations in check).
I'm pretty sure that the implementation and use cases are close enough that they can be handled by the compression dictionaries work (and we'd be happy to get input for any areas where the zsdch implementation is easier to work with).
It's particularly interesting that both were developed independently around the same time, largely from teams that miss having the benefits that had come with SDCH before it was turned down.
Closing this out as all of the relevant parties are involved in the compression dictionary draft and experimenting with the Chrome origin trials.