[whatwg] Proposal: Loading and executing script as quickly as possible using multipart/mixed
mjs at apple.com
Mon Dec 3 21:57:08 PST 2012
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.
> 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 (
> On Mon, Dec 3, 2012 at 1:40 PM, Anne van Kesteren <annevk at annevk.nl> wrote:
>> On Mon, Dec 3, 2012 at 10:14 PM, Adam Barth <w3c at 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?
More information about the whatwg