Are ES6 modules in browsers going to get loaded level-by-level?

John Barton johnjbarton at
Thu Apr 16 20:43:07 UTC 2015

On Thu, Apr 16, 2015 at 1:22 PM, Domenic Denicola <d at> wrote:

> From: John Barton [mailto:johnjbarton at]
> > But the push scenario in your first paragraph would not use the cache
> either.
> Yeah, that's what I was alluding to with the "most naïve" comment.
> >  one or the other has to send its information at the outset of a import
> request, or
> One way of doing this I came up with off the top of my head is to add some
> kind of "dependency graph version" or hash to the query string. I.e.
> <script type="module" src="entry.js?1234"></script>. The server can then
> assume that the client has in its cache version 1234 of the dependency
> graph, and can push the incremental updates since then (i.e. added or
> modified files). If parts of the cache were evicted, so that the versioning
> signal is not entirely accurate, then the penalty is not so bad, as you
> just fall back to the normal loading process for the evicted subset.
> But I feel pretty silly speculating here as I'm not an expert on HTTP/2
> techniques, and there are probably other methods that are better in various
> ways.

Perhaps, but I feel the issue is more fundamental. HTTP/2 shares
statelessness with HTTP/1. It follows that the state of the client must be
sent to the server or vice versa.  HTTP/2 can make that process much faster
but it's not going to know what state to send without instructions from
clients or from servers. We can all make up those instructions one at a
time and in our own unique ways or the module experts can come up with a
good solution for the common cases.  I'm hoping for the latter ;-)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list