LGTM3

On Wed, Apr 27, 2022 at 6:11 AM Mike Taylor <[email protected]> wrote:

> LGTM2
>
> On 4/27/22 2:33 AM, Yoav Weiss wrote:
>
> LGTM1
>
> I'm excited about this work as it unlocks many potential wins in terms of
> loading performance. Interest from Mozilla as well as support from leading
> CDNs is also promising in terms of activation and usage. Thanks for working
> on this!!
>
> On Wed, Apr 27, 2022 at 7:49 AM Daisuke Enomoto <[email protected]>
> wrote:
>
>> 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.
>>>>>
>>>>
> Great to see those PRs have landed!
>
>
>>
>>>>>
>>>>> 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/CAL5BFfU3vO5hb3CXXt4mG6HCWPOF7tjCoqvrjOdbW2Q49uiSbw%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfU3vO5hb3CXXt4mG6HCWPOF7tjCoqvrjOdbW2Q49uiSbw%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/8d74545b-dde0-49ce-197d-25ae8dfd4ec2%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8d74545b-dde0-49ce-197d-25ae8dfd4ec2%40chromium.org?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/CAOMQ%2Bw8Ur6VO3bOKmYf0Dp7VN2fFiLkyh1OZchsPA43ukq-NMQ%40mail.gmail.com.

Reply via email to