- From: Patrick Meenan <patmeenan@gmail.com>
- Date: Mon, 11 Dec 2023 13:08:01 -0500
- To: HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAJV+MGy2jK8rqds9Fc8U+A9CKergfHsXoVYJFxn5O1ZsvpJVOA@mail.gmail.com>
There's an updated version of the compression dictionary transport ID: https://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/ Changes since draft-00: *Changed match to use URLPattern* PRs 2646 <https://github.com/httpwg/http-extensions/pull/2646> and 2689 <https://github.com/httpwg/http-extensions/pull/2689>. This changed the URL pattern matching for applying dictionaries from the custom logic to use URLPattern instead. Originally the intention was to exclude the protocol/host/port/server bits and only allow for the path and query string components but the teams working on URLPattern would prefer that the integration use the existing full-URL string integration. *Added support for a server-provided dictionary id* PR 2687 <https://github.com/httpwg/http-extensions/pull/2687> Instead of echoing the dictionary URL and ETag we agreed that an server-provided string "id" would provide more flexibility for servers to provide their own cache index and not require re-indexing dictionaries based on the sha-256 hash. The string id can be up to 1024 bytes and will be echoed back by the client in a `Dictionary-ID` request header if one was provided. *Updated the default dictionary ttl to 14 days since last fetched* PR 2676 <https://github.com/httpwg/http-extensions/pull/2676> This changes the default ttl from 1 year to 14 days since last fetch (up a bit from the 7-day default mentioned at IETF 118). There's an open question about the dictionaries needing a separate TTL (see below) so this may go away. *Removed support for hash negotiation and force use of sha-256* PR 2675 <https://github.com/httpwg/http-extensions/pull/2675> Eliminated the complexity of supporting alternate hash algorithms. If we reach the point where sha256 is no longer appropriate then we can add support then. *Added the dictionary hash to the compressed response* PR 2680 <https://github.com/httpwg/http-extensions/pull/2680> When a compression dictionary was used, this adds the hash of the dictionary that was used to a "Content-Dictionary" response header instead of implicitly using the hash of the dictionary from the "Available-Dictionary" request header. *Dictionary hashes changed to sf-binary* PR 2680 <https://github.com/httpwg/http-extensions/pull/2680> Instead of using a lowercase hex encoding of the dictionary hash, the "Available-Dictionary" request header and "Content-Dictionary" response header now use sf-binary encoding. Open Questions/Issues: Issue 2649 <https://github.com/httpwg/http-extensions/issues/2649> - Should the dictionaries have a ttl separate from the cache lifetime? Originally it was added so that the dictionaries can have a short ttl for long-cached resources that are updated frequently to minimize variants polluting the cache. This is some question if that is necessary or if caches need to handle eviction of variants anyway and adding another ttl may not be needed. Issue 2638 <https://github.com/httpwg/http-extensions/issues/2638> - Should the match pattern prevent the origin from being specified? It doesn't break anything if a server specifies a full path including origin but it is a waste of bytes if they do since all match patterns MUST be same-origin to the dictionaries. Thank you for all of the constructive feedback so far. I think it is shaping up well. We should have some initial feedback from the Chrome origin trial that is currently in-flight. -Pat
Received on Monday, 11 December 2023 18:08:20 UTC