Adds support for a new HTTP response header, Critical-CH to indicate that if a particular Client Hint header was not received and could have been sent, a new request should be made that includes the particular Client Hint header.
Compatibility This change is a no-op for servers that don’t send the Critical-CH response header, and shouldn’t pose a compatibility risk for older browsers or browsers that don’t support the header. This feature still allows for the possibility of lack of support from the browser side, which means that sites shouldn’t need to treat other browsers any differently if they do or don’t support it. Interoperability There’s generally neutral feelings for Client Hints and the related proposals from other browser vendors. Safari is generally neutral without an official stance and Firefox maintains a “non-harmful” position on Client Hints and UA Client Hints. Edge, however, has been publicly supportive. There have also been positive signals from other browsers about the potential impacts of the UA Client Hints proposal.
Utilizing the Critical CH response header will mean an additional request/response round trip, especially on first-time navigations to the site and after a change in Client Hint preferences. It is up to the developer to decide if the need for the information on the first navigation request is worth “paying” the cost of extra requests. It should be noted that, unless the majority of a site's traffic is first-time navigations, a retry should be relatively rare. The lifetime of client hint preferences is the browser session, which is generally fairly long lived. Much of these situations will be resolved by the other side of the larger Client Hint Reliability proposal, which puts the client hint negotiation into the HTTP/2, HTTP/3, and TLS handshakes, before the first navigation.
This feature was designed to be low-friction for developers. Like the Accept-CH response header, this can be a static configuration in HTTP server software and sent with all responses.
The secondary request and response should be visible in DevTools. I don’t think there will need to be any active work.
I could not see anything about requests that have side-effects.
Will PUT/POST also be retried if they happen to receive a
critical-ch header with no previously cached such response from
the server? Should they?
/Daniel
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJwB4Xb9vFCboXT1cFRb1LmtdDOD7rSWT89DEJn0-%3Dqr50ePag%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2c801682-9f47-eb91-474f-7724ee957a8d%40gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAF8qwaBXAC5OB5UOMTGtOu8x0AFP4wchbdhfWZu2G57bW%3DiQ_g%40mail.gmail.com.
- As I understand it, there is another feature being worked on that will allow sites to avoid an extra round-trip to the server by integrating critical hints into the connection negotiation process. Is there a good reason not to wait and ship the two features together, so that we can avoid a situation where extra round trips get added, even if temporarily?
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJwB4XbpUTLQUDVGp2tRAoRtN_H_L%3DGXkVcn_eZP0HRAp19DMA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2B4qT32__c0imvc6qRSuqNjceau-K72BFqazG2scvCQAPWHU%2Bw%40mail.gmail.com.
What Chris said. LGTM2 given the assumption that this will ship with the related technologies.
/Daniel
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/245d86a2-671a-a6e3-c3bf-912f011dc0cb%40gmail.com.