The expect-no-linked-resources configuration point in Document Policy allows a document to hint to the user agent to better optimize its loading sequence, such as not using the default speculative parsing behavior. User Agents have implemented speculative parsing of HTML to speculatively fetch resources that are present in the HTML markup, to speed up page loading. For the vast majority of pages on the Web that have resources declared in the HTML markup, the optimization is beneficial and the cost paid in determining such resources is a sound tradeoff. However, the following scenarios might result in a sub-optimal performance tradeoff vs. the explicit time spent parsing HTML for determining sub resources to fetch: * Pages that do not have any resources declared in the HTML. * Large HTML pages with minimal or no resource loads that could explicitly control preloading resources via other preload mechanisms available. `expect-no-linked-resources` Document-Policy hints the User Agent that it may choose to optimize out the time spent in such sub resource determination.
Gecko has its speculative parsing pass integrated into document parser and hypothesizes that it might not have any benefit by adopting this standard. WebKit's stance is that it might want to invest in Gecko's architecture wrt. speculative parsing vs. receiving a hint from the web developer to optimize the hint. Thus this feature might not become interoperable. We believe that it is worth proceeding anyways, as our experimentation with parsing architectures suggests that there is a real tradeoff here that cannot be solved without a web developer hint. As a document-policy hint, the interoperability cost of this not being implemented everywhere is low: its presence will only cause small differences in speculative parsing timing, which are already permitted by the HTML Standard. Similarly, the compatibility risk of this feature is low. If we were to eventually remove it, it would be very hard for web developers to notice. More of the discussions at the HTML standard pull request and the subsequent WHATNOT meeting notes below: https://github.com/whatwg/html/pull/10718 WHATNOT discussion minutes: https://github.com/whatwg/html/issues/10709 https://github.com/whatwg/html/issues/10720 https://github.com/whatwg/html/issues/10734 https://github.com/whatwg/html/issues/10750
None. The feature is opted-in on a per-response basis by a page that does not benefit from speculative parsing, and is off by default.
None.
This feature does not change security risks.
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None
The feature usage, i.e., opt-in by the page, will be visible under page Headers in network panel of the DevTools interface.
https://github.com/web-platform-tests/wpt/pull/49617
Shipping on desktop | 133 |
Shipping on Android | 133 |
Shipping on WebView | 133 |
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
NoneContact emails
ale...@google.comExplainer
https://github.com/explainers-by-googlers/expect-no-linked-resources
https://explainers-by-googlers.github.io/expect-no-linked-resourcesSpecification
https://github.com/whatwg/html/pull/10718Summary
The expect-no-linked-resources configuration point in Document Policy allows a document to hint to the user agent to better optimize its loading sequence, such as not using the default speculative parsing behavior. User Agents have implemented speculative parsing of HTML to speculatively fetch resources that are present in the HTML markup, to speed up page loading. For the vast majority of pages on the Web that have resources declared in the HTML markup, the optimization is beneficial and the cost paid in determining such resources is a sound tradeoff. However, the following scenarios might result in a sub-optimal performance tradeoff vs. the explicit time spent parsing HTML for determining sub resources to fetch: * Pages that do not have any resources declared in the HTML. * Large HTML pages with minimal or no resource loads that could explicitly control preloading resources via other preload mechanisms available. `expect-no-linked-resources` Document-Policy hints the User Agent that it may choose to optimize out the time spent in such sub resource determination.
Blink component
BlinkTAG review
https://github.com/w3ctag/design-reviews/issues/1014TAG review status
PendingRisks
Interoperability and Compatibility
Gecko has its speculative parsing pass integrated into document parser and hypothesizes that it might not have any benefit by adopting this standard. WebKit's stance is that it might want to invest in Gecko's architecture wrt. speculative parsing vs. receiving a hint from the web developer to optimize the hint. Thus this feature might not become interoperable. We believe that it is worth proceeding anyways, as our experimentation with parsing architectures suggests that there is a real tradeoff here that cannot be solved without a web developer hint. As a document-policy hint, the interoperability cost of this not being implemented everywhere is low: its presence will only cause small differences in speculative parsing timing, which are already permitted by the HTML Standard. Similarly, the compatibility risk of this feature is low. If we were to eventually remove it, it would be very hard for web developers to notice. More of the discussions at the HTML standard pull request and the subsequent WHATNOT meeting notes below: https://github.com/whatwg/html/pull/10718 WHATNOT discussion minutes: https://github.com/whatwg/html/issues/10709 https://github.com/whatwg/html/issues/10720 https://github.com/whatwg/html/issues/10734 https://github.com/whatwg/html/issues/10750
Gecko: Negative (https://github.com/whatwg/html/pull/10718) Gecko has its speculative parsing pass integrated into document parser and hypothesizes that it might not have any benefit by adopting this standard. Given their comments on the pull requests and at WHATNOT meetings, we believe it's not necessary to file for a formal standards position.
WebKit: Negative (https://github.com/whatwg/html/pull/10718) Given their comments on the pull requests and at WHATNOT meetings, we believe it's not necessary to file for a formal standards position.
Web developers: Positive (https://docs.google.com/document/d/1VhztmwDUz40sb2HEBfNJjplva8hXgAP3C6qlyTFbfr0/edit?tab=t.0#heading=h.9mt7t18673oo)
--
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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6759101e.2b0a0220.23f11c.0000.GAE%40google.com.
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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ac7397ee-386c-47b4-a170-1e0034a58966n%40chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ac7397ee-386c-47b4-a170-1e0034a58966n%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ac7397ee-386c-47b4-a170-1e0034a58966n%40chromium.org.
LGTM1 to ship, with some non-blocking homework.
Could you please do the work to add a DevTools Issue so developers are aware when this hint is harming performance rather than helping?
It would also be good to try to do some HTTP Archive queries (or
have a use counter, if that's feasible) to help us better
understand how many sites would benefit from the feature.
And finally, please consider a holdback study so we can be sure there's not a net-negative effect to shipping.
thanks,
Mike
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bd56d28f-870d-4143-a4a3-2047fdc5946cn%40chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bd56d28f-870d-4143-a4a3-2047fdc5946cn%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ac7397ee-386c-47b4-a170-1e0034a58966n%40chromium.org.
--
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.