<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello Yoav,<div class=""><br class=""></div><div class="">Is there any technology on the horizon that would simplify doing this kind of optimization? If done manually, this seems:</div><div class="">- complicated, so only a few sites will do this;</div><div class="">- very likely to go stale, as the content changes, but preload instructions do not get updated;</div><div class="">- related to the above, the failure mode is opaque, as the website will only get a little slower to load, and not break functionally.</div><div class=""><br class=""></div><div class="">Sending the preload requests in HTTP response headers seems like it would provide the most benefit, but is also more prone to the above issues.</div><div class=""><br class=""></div><div class="">Preloading resources as untyped data doesn't seem like a good match to the loader implementation mostly dealing with typed resources. Additionally, fetching depends on the referring document's properties (notably the charset is inherited for same origin subresources). This is not necessarily a blocker, but the proposal adds a different way to think about subresource loading.</div><div class=""><br class=""></div><div class="">There appears to be some feature duplication with HTTP/2 server push functionality, could you please characterize the differences that would make it worth having both?</div><div class=""><br class=""></div><div class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">- Alexey</div><div class=""><br class=""></div></div><br class="Apple-interchange-newline"></div><div><blockquote type="cite" class=""><div class="">11 нояб. 2015 г., в 6:11, Yoav Weiss &lt;<a href="mailto:yoav@yoav.ws" class="">yoav@yoav.ws</a>&gt; написал(а):</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi,<div class=""><br class=""></div><div class="">I'm interested in adding support for <a href="https://w3c.github.io/preload/" class="">&lt;link rel=preload&gt;</a>&nbsp;and the corresponding "Link:" headers and wanted to gauge interest for supporting the feature.</div><div class=""><br class=""></div><div class="">The preload relationship provides a declarative fetch primitive that enables developers to initiate a resource fetch and separate fetching from resource execution. As such, preload is a low-level primitive that enables applications to build custom resource loading and execution behaviors without hiding resources from the user agent and incurring delayed resource fetching penalties. <br class=""></div><div class=""><br class=""></div><div class="">Use cases include:</div><div class="">* Early fetch of lately discovered critical resources - Sites that contain critical resources that aren't discoverable by the preload scanner (e.g. fonts, JS loaded scripts and styles, etc) can use the feature to download these critical resources early</div><div class="">* Separation of download and execution in a declarative, non-hacky way.</div><div class=""><br class=""></div><div class="">All in all, it would enable Web sites to significantly improve loading performance in various common scenarios.</div><div class=""><br class=""></div><div class="">Thanks!</div><div class="">Yoav</div><div class=""><br class=""></div></div>
_______________________________________________<br class="">webkit-dev mailing list<br class=""><a href="mailto:webkit-dev@lists.webkit.org" class="">webkit-dev@lists.webkit.org</a><br class="">https://lists.webkit.org/mailman/listinfo/webkit-dev<br class=""></div></blockquote></div><br class=""><div apple-content-edited="true" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div></div></div></div></body></html>