Hi

Any other questions or concerns?

Thanks!

On Thu, Apr 21, 2022 at 5:23 PM Kenichi Ishibashi <[email protected]>
wrote:

> Hi Yoav,
>
> On Thu, Apr 21, 2022 at 3:26 PM Yoav Weiss <[email protected]> wrote:
>
>>
>>
>> On Thu, Apr 21, 2022 at 4:13 AM Kenichi Ishibashi <[email protected]>
>> wrote:
>>
>>> Contact emails
>>>
>>> [email protected], [email protected]
>>>
>>> Explainer
>>>
>>> https://github.com/bashi/early-hints-explainer/blob/main/explainer.md
>>>
>>> Specification
>>>
>>> https://tools.ietf.org/html/rfc8297
>>>
>>> https://html.spec.whatwg.org/#early-hints
>>>
>>> Design docs
>>>
>>>
>>> https://docs.google.com/document/d/1gCh_CnfrJq_VL7aGoq6skc7sn4yn5pKsM0gkHe5B9go/edit?usp=sharing
>>>
>>> Summary
>>>
>>> Support 103 Early Hints informational responses during top-level frame
>>> navigation. When a 103 response includes link headers Chromium tries to
>>> preload specified resources (including modulepreload) or preconnect to
>>> specified origins before the final response is received. This gives Web
>>> developers a way to optimize Core Web Vitals such as Largest Contentful
>>> Paint (LCP).
>>>
>>>
>>> Blink component
>>>
>>> Internals>Preload
>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EPreload>
>>>
>>> TAG review
>>>
>>> https://github.com/w3ctag/design-reviews/issues/638
>>>
>>> TAG review status
>>>
>>> Issues addressed
>>>
>>> Risks
>>> Interoperability and Compatibility
>>>
>>> Browsers may not understand a 103 response but they are expected
>>> <https://www.ietf.org/archive/id/draft-ietf-httpbis-semantics-19.html#name-informational-1xx>
>>> to ignore 1xx responses if they don’t understand 1xx responses. Firefox is
>>> implementing 103 support.
>>>
>>> Proxies may not understand a 103 response. They may treat the 103
>>> response as a part of the final response when the response is sent over
>>> HTTP/1.1. The problem is less likely to happen over HTTP/2 and HTTP/3
>>> thanks to their frame format. Chromium only handles 103 responses over
>>> HTTP/2 and HTTP/3.
>>>
>>> The HTML and Fetch standards have been updated to handle preload link
>>> headers in 103 responses for navigations (whatwg/html#7675
>>> <https://github.com/whatwg/html/pull/7675>, whatwg/fetch#1404
>>> <https://github.com/whatwg/fetch/pull/1404>). For preconnect there are
>>> ongoing efforts to specify the behavior. See “Anticipated spec changes”
>>> section below for more information.
>>>
>>> Gecko: In development
>>> <https://bugzilla.mozilla.org/show_bug.cgi?id=1407355>.
>>>
>>
>> Can you ask for an official position? https://bit.ly/blink-signals
>>
> I should have put the link to the official position. They said it's worth
> prototyping <https://github.com/mozilla/standards-positions/issues/134> and
> IIUC it's under development.
>
>
>>
>>>
>>> WebKit: No signal
>>> <https://lists.webkit.org/pipermail/webkit-dev/2021-May/031861.html>.
>>>
>>> Web developers: Positive. Positive interest and intent of support by
>>> popular CDNs (Fastly
>>> <https://www.fastly.com/blog/faster-websites-early-priority-hints>,
>>> Cloudflare <https://blog.cloudflare.com/early-hints/>). We've been
>>> collaborating with partners to evaluate the impact of Early Hints and we
>>> observed significant improvements on page loading metrics such as FCP.
>>>
>>>
>>> Ergonomics
>>>
>>> The primary usage of this feature is to send link headers to preload
>>> resources or preconnect to servers to improve page load performance. Due to
>>> potential security concerns Chromium only handles the first 103 response
>>> for the top-frame navigation.
>>>
>>
>> That restriction is specified, right? AFAICT, "process early hints
>> headers
>> <https://html.spec.whatwg.org/multipage/semantics.html#process-early-hint-headers>"
>> is only called from "process a navigate response
>> <https://html.spec.whatwg.org/multipage/browsing-the-web.html#navigating-across-documents:process-early-hint-headers>
>> ".
>>
> Yes, you're right. Sorry for the confusion. Chromium has these
> restrictions to follow the specification.
>
>
>>
>>
>>> See this document
>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/early-hints.md>
>>> for details of restrictions. These restrictions may be relaxed in the
>>> future.
>>>
>>>
>>> Activation
>>>
>>> Popular HTTP servers and CDNs provide configurations or options to send
>>> Early Hints responses.
>>>
>>>
>>> Security
>>>
>>> Request mode <https://fetch.spec.whatwg.org/#concept-request-mode> and 
>>> credentials
>>> mode <https://fetch.spec.whatwg.org/#concept-request-credentials-mode>
>>> are calculated the same as normal preload and preconnect. Preloads
>>> triggered by a 103 response follow policies specified in the same 103
>>> response. Chromium only handles the first 103 response and ignores
>>> following 103 responses to avoid contradiction policies between these
>>> responses and the final response. Chromium doesn’t use preloaded resources
>>> triggered by a 103 response when there are conflicting policies between a
>>> 103 response and the final response. See the security considerations
>>> section
>>> <https://docs.google.com/document/d/1gCh_CnfrJq_VL7aGoq6skc7sn4yn5pKsM0gkHe5B9go/edit#heading=h.fhq04xt0tah6>
>>> of the design doc for more information.
>>>
>>
>> Is that specified?
>>
> Yes. These behaviors are specified in "process a navigate fetch
> <https://html.spec.whatwg.org/multipage/browsing-the-web.html#process-a-navigate-fetch>"
> and "process early hint headers
> <https://html.spec.whatwg.org/multipage/semantics.html#process-early-hint-headers>
> ".
>
>
>>
>>>
>>>
>>> WebView application risks
>>>
>>> We don’t expect WebView specific problems with this feature.
>>>
>>>
>>> Debuggability
>>>
>>> If a resource is preloaded by Early Hints, the corresponding
>>> PerformanceResourceTiming object reports that its initiatorType is
>>> "early-hints".
>>>
>>> When the document doesn’t use resources preloaded by Early Hints within
>>> a few seconds from the window’s load event Chromium will show warning
>>> messages (this is under review now).
>>>
>>> DevTools lack Early Hints support and we consider adding Early Hints
>>> support in DevTools in the future. In the meanwhile developers can use
>>> NetLog <https://www.chromium.org/for-testers/providing-network-details/>,
>>> WebPageTest, or network protocol analyzers such as Wireshark for debugging.
>>>
>>> Is this feature fully tested by web-platform-tests
>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
>>> ?
>>>
>>> Yes
>>> <https://github.com/web-platform-tests/wpt/tree/master/loading/early-hints>
>>>
>>> Flag name
>>>
>>> EarlyHintsPreloadForNavigation
>>>
>>> Requires code in //chrome?
>>>
>>> False
>>>
>>> Tracking bug
>>>
>>> https://crbug.com/671310
>>>
>>> Launch bug
>>>
>>> https://crbug.com/1197989
>>>
>>> Sample links
>>>
>>> https://early-hints.fastlylabs.com/
>>>
>>> Estimated milestones
>>>
>>> We would like to ship this feature in M103.
>>>
>>> Anticipated spec changes
>>>
>>> Historically preconnect hasn’t been specified well (whatwg/html#4224
>>> <https://github.com/whatwg/html/issues/4224>). There are ongoing
>>> efforts to specify the behavior. For example whatwg/html#7814
>>> <https://github.com/whatwg/html/pull/7814> specified the behavior of
>>> <link rel=preconnect>. whatwg/html#7835
>>> <https://github.com/whatwg/html/pull/7835> will specify preconnect in
>>> link headers and it will cover 103 responses.
>>>
>>>
>>> Link to entry on the Chrome Platform Status
>>>
>>> https://chromestatus.com/feature/5207422375297024
>>>
>>> Links to previous Intent discussions
>>>
>>> Intent to Experiment:
>>> https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/xb_NHDS3twY
>>>
>>>
>>> This intent message was generated by Chrome Platform Status
>>> <https://chromestatus.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 [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPLXX-9MUr5cdGw_x7Gy6B3dxcmpVp9tnXL%2BY%3DDeEXoABNy3bA%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPLXX-9MUr5cdGw_x7Gy6B3dxcmpVp9tnXL%2BY%3DDeEXoABNy3bA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA5e699jN0uQ9jSJHnrdnmPDUf0aByhjnDaoOmxC%2B5q_znnvGQ%40mail.gmail.com.

Reply via email to