Contact emails
Explainer
Specs
https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability
https://tools.ietf.org/html/draft-vvv-httpbis-alps
https://tools.ietf.org/html/draft-vvv-tls-alps
TAG review
https://github.com/w3ctag/design-reviews/issues/549
Summary
The ACCEPT_CH HTTP/2 and HTTP/3 frames, combined with the TLS ALPS extension, are a connection-level optimization to deliver the server’s Client Hint preferences before the first HTTP request.
Link to “Intent to Prototype” blink-dev discussion
https://groups.google.com/a/chromium.org/g/blink-dev/c/DJEygGmiSz4
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes
Debuggability
The effects of the ACCEPT_CH frame will be visible in the DevTools network panel by way of which headers were sent, though we can iterate on this as other use cases come up.
Risks
Interoperability and Compatibility
This is a protocol extension, so the compatibility properties are a bit different from a web platform API. The main source of compatibility risk is that details about the design will change as it settles into the final shape. We mitigate this by using different numeric code points in draft ALPS and ACCEPT_CH implementations, so they will not conflict with the final ones. (Unlike web platform API, we don’t need to worry about losing a descriptive developer-visible name.)
This is similar to the strategy we successfully used with TLS 1.3.
TLS features are also negotiated, and the ACCEPT_CH frame is an optimization over the existing Critical-CH and Accept-CH HTTP header behavior anyway. That means removing a draft version will not break sites.
Edge: No signals
Firefox: Pending https://github.com/mozilla/standards-positions/issues/510
Safari: Pending https://lists.webkit.org/pipermail/webkit-dev/2021-April/031768.html
Web / Framework developers: https://twitter.com/Sawtaytoes/status/1369031447940526080 https://twitter.com/_jayphelps/status/1369023028735148032
Ergonomics
This API is meant to be used in conjunction with the Critical-CH header, as an optimization to avoid the retry in most cases.
Performance-wise, it doesn’t impose any synchronous API requirements, though we do need to plumb new signals to and from the network service. See design document for details.
Activation
As with other protocol-level extensions, the site’s TLS and HTTP serving software would need to be updated to support this feature. We envision this will follow the usual process for other such changes, such HTTP/2 or TLS 1.3. Over time, it makes its way through the pipeline, it will be easier to adopt. By shipping the ACCEPT_CH frame and the Critical-CH header in parallel, we can provide both a low-friction mechanism in the short-term and this optimization in the long-term.
Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.
No, this will be tested with browser-side tests. TLS-adjacent features are not currently testable by web-platform-tests. See this issue:
https://github.com/web-platform-tests/wpt/issues/20159
Entry on the feature dashboard
--
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/CAF8qwaCtQec_7BBHh0Q92%2BTEB98-m6UdavQfb6ps%3DM_zPKP7jg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKXHy%3DcRAo%3DOnVRE4385nPQmgTwZcVeA7Tint-3NzYuNbXgLGg%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAF8qwaCtQec_7BBHh0Q92%2BTEB98-m6UdavQfb6ps%3DM_zPKP7jg%40mail.gmail.com.
--
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+unsubscribe@chromium.org.
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/CAF8qwaCtQec_7BBHh0Q92%2BTEB98-m6UdavQfb6ps%3DM_zPKP7jg%40mail.gmail.com.
--
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/CAKXHy%3DcRAo%3DOnVRE4385nPQmgTwZcVeA7Tint-3NzYuNbXgLGg%40mail.gmail.com.
--
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/ba86035f-2911-44ec-acee-2acec8e071b3n%40chromium.org.