[whatwg] Proposal: Loading and executing script as quickly as possible using multipart/mixed

Maciej Stachowiak mjs at apple.com
Mon Dec 10 23:52:45 PST 2012


On Dec 3, 2012, at 11:19 PM, Adam Barth <w3c at adambarth.com> wrote:

> On Mon, Dec 3, 2012 at 9:57 PM, Maciej Stachowiak <mjs at apple.com> wrote:
>> On Dec 3, 2012, at 2:11 PM, William Chan (陈智昌) <willchan at chromium.org> wrote:
>>> Unless I am misunderstanding, SPDY will not solve this problem. SPDY uses
>>> prioritized multiplexing of streams.
>> 
>> It seems to me like SPDY could make this case work better:
>> 
>> <script async src="path/to/script-part1.js"></script>
>> <script async src="path/to/script-part2.js"></script>
>> <script async src="path/to/script-part3.js"></script>
>> 
>> Specifically the individual script chunks could be ordered and prioritized such that all of script-part1.js transfers before any of script-part3.js. That's harder to do with HTTP because the scripts could be loading on wholly separate HTTP connections, while SPDY will use one connection to the server.
>> 
>> That being said, I do not know if SPDY will actually achieve this. Presumably it makes sense for it to serialize within a given priority level, at least a priority level that's likely to correspond to resources that are only atomically consumable, like scripts. But I don't know if SPDY implementations really do that.
> 
> It also has disadvantage (3):
> 
> ---8<---
> (3) This approach requires the author who loads the script to use
> different syntax than normally used for loading script.  For example,
> this prevents this technique from being applied to the JavaScript
> libraries that Google hosts (as described by
> <https://developers.google.com/speed/libraries/>).
> --->8---

Yes, but I presumed that multiple script tags is less deviation than the iframe approach. Perhaps that is not the case. Note that in the case of systematically named parts, a single inline script could document.write() the relevant sequence of external <script> tags, if verbosity is the concern. But it would indeed be different.

Do you expect the multipart idea would work with no syntax change in the markup currently embedding the libraries? If so, how? Content negotiation? UA sniffing?

Regards,
Maciej




More information about the whatwg mailing list