- From: Lucas Pardue <lucaspardue.24.7@gmail.com>
- Date: Wed, 27 Sep 2023 02:48:10 +0100
- To: Martin Thomson <mt@lowentropy.net>
- Cc: "Hewitt, Rory" <rhewitt=40akamai.com@dmarc.ietf.org>, Watson Ladd <watsonbladd@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, TLS List <tls@ietf.org>, Mike Bishop <mbishop@akamai.com>
- Message-ID: <CALGR9obMvoGnAGo9gqYmEFQqr4q2TtoWS46xB2Sb8A_0ietgxg@mail.gmail.com>
Hi Rory, I echo Watson and Martin, lets discuss this in the HTTP WG. As for a very brief technical response. In general I'm supportive of the idea of more agility of the static table but I think my motivations would be different than the ones behind this proposal. For me, I'd like more domain-specific tables to be defined, and to have the possibility of asymmetric tables; but lets stick that on the side for now. The QPACK static table description states "The order of the entries is optimized to encode the most common header fields with the smallest number of bytes.". How does the proposed append-only table gel with this? I.e. each year, the new most common fields are added to the end? At what point would it make sense to wipe out the cruft and define a newer table altogether? I think what might be needed is a good amount of datamodelling and simulation that is sufficient to decide when there is activation energy to make changes. Perhaps the proposal is a compromise to make it low effort enough for implementations to update, that they don't need tremendous amounts of overwhelming evidence to keep up. IIRC historically the effort to sample the Internet and propose a table has been quite high, and there have been some criticisms about the outputs. Given the HTTP WG has struggled with this aspect, I think it is decidedly impractical to make IANA or a designated expert solely responsible for deciding the QPACK entries. This is something that has to run through a consensus approach IMO, especially as lower entries are more valuable and couldn't ever be reclaimed. I think the largest activation energy would be to convince endpoints to implement the negotiation mechanism because it is pushing it into the TLS layer and that crosses implementation boundaries. Watson asks why not SETTINGS. One answer is that it requires clients to have to wait for the server's settings, which adds a delay that many clients don't already apply. Trading off latency for a few bytes doesn't sound like a good tradeoff. Indeed, this is why we optimised the static table for the clien'ts first flight before it knows if the server supports dynamic QPACK or not. Putting a client's static QPACK preference in a Client Hello is a fingerprinting vector, so that is a concern. Perhaps a middleground is to use a SETTING but then rope in the old ALPS proprosal [1] so that the client learns the server's view as early as required, and the client sends its view in SETTINGS after protection is established. Changing track a bit, I don't understand why your proposal requires the client and server to agree on the extension value. Its a declaration of what the endpoint can support and I don't think there is any issue in e.g. the client being willing to receive references to entries greater than 99 and the server refusing to. Encoding asymmetry is already part of QPACK DNA. Cheers, Lucas [1] - https://datatracker.ietf.org/doc/html/draft-vvv-tls-alps On Wed, Sep 27, 2023 at 1:40 AM Martin Thomson <mt@lowentropy.net> wrote: > On Wed, Sep 27, 2023, at 01:32, Hewitt, Rory wrote: > > Apologies if I should respond directly to the mailing list - my old W3C > > profile has disappeared and I'm trying to get it back... > > Just on this point. Watson added the HTTP working group, which I think is > the right thing to do here. The maintenance of HTTP/3 now formally belongs > in that group. The work of defining a TLS extension for that purpose would > occur there (if indeed a TLS extension is the right choice, as Watson asks). > > As for the W3C involvement, the HTTP working group is an IETF activity > that - for historical reasons - uses a W3C-hosted mailing list. You don't > need to be a W3C member to sign up for that list. The process is just a > little different than for other IETF lists. See > https://lists.w3.org/Archives/Public/ietf-http-wg/ for details. > >
Received on Wednesday, 27 September 2023 01:48:28 UTC