W3C home > Mailing lists > Public > whatwg@whatwg.org > December 2012

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

From: Maciej Stachowiak <mjs@apple.com>
Date: Mon, 03 Dec 2012 21:57:08 -0800
Message-id: <B9A91C33-4021-4963-A9B4-39C68143257C@apple.com>
To: William Chan (陈智昌) <willchan@chromium.org>
Cc: whatwg@whatwg.org, Adam Barth <w3c@adambarth.com>

On Dec 3, 2012, at 2:11 PM, William Chan (陈智昌) <willchan@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.

 - Maciej

> Generally speaking, a browser will map
> a single resource request to a single stream, which would prevent chunked
> processing by the browser without multipart/mixed. One could imagine
> working around this by splitting the single resource into multiple
> resources, and then relying on SPDY priorities to ensure sequential
> delivery, but that is suboptimal due to having limited priority levels (4
> in SPDY/2, 8 in SPDY/3), and many of them are already used to indicate
> relative priority amongst resource types (
> https://code.google.com/p/chromium/source/search?q=DetermineRequestPriority&origq=DetermineRequestPriority&btnG=Search+Trunk
> ).
> On Mon, Dec 3, 2012 at 1:40 PM, Anne van Kesteren <annevk@annevk.nl> wrote:
>> On Mon, Dec 3, 2012 at 10:14 PM, Adam Barth <w3c@adambarth.com> wrote:
>>> The HTTP server would then break script.js into chunks that are safe
>>> to execute sequentially and provide each chunk as a separate MIME part
>>> in a multipart/mixed response.
>> Is it expected that SPDY will take much longer than getting this
>> supported in all browsers? Or am I missing how SPDY will not address
>> this problem?
>> --
>> http://annevankesteren.nl/
Received on Tuesday, 4 December 2012 05:57:48 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 16:59:50 UTC