CDNs are useful because they load content closest to where the user is located.
CDNs are useful because they load content closest to where the user is located.
That's my understanding of it anyway.
(I.e. "This links points to this file - if you already have the file with this hash use it instead")
I have solved this problem myself by avoiding concatenation and using the browser's IndexedDB to store assets that can be loaded dynamically (JS, CSS, and client-side templates). Assets like this get downloaded over a WebSocket connection which provides the same advantage of SPDY in that no re-negotiation is necessary.
You can see the implementation of this here:
https://github.com/liftoff/GateOne/blob/master/gateone/core/...
...and the client side code is here:
https://github.com/liftoff/GateOne/blob/master/gateone/stati...
(Including the functions immediately following that one)