[whatwg] Caching of identical files from different URLs using checksums
Ian Hickson
ian at hixie.ch
Thu Jun 7 15:10:57 PDT 2012
On Fri, 17 Feb 2012, Sven Neuhaus wrote:
> Hello,
>
> as of 2012, some websites are including popular javascript libraries from CDNs, like
> Google's. The benefits are:
>
> * Traffic savings for the site operator because the javascript libraries are downloaded from
> the CDN and not from the site that uses them
> * If enough sites refer to the same external file, the browser will cache the file and even if
> it's a first visit, the (potentially large) javascript file will not have to be downloaded.
>
> There are however some drawbacks to this approach:
>
> * Security: The site operator is trusting an external site. If the CDN serves a malicious file
> it will directly lead to code execution in browsers under the domain settings of the site
> including it (a form of cross site scripting).
> * Availability: The site depends on the CDN to be available. If the CDN is down the site may not
> be available at all.
> * Privacy: The CDN will see requests for the file with HTTP referer headers for every visitor
> of the site.
> * Extra DNS lookup if file is not already cached
> * Extra HTTP connection (can't use persistent connection because it's a different site) if file is not cached
>
> I am proposing a solution that will solve all these problems, keep the
> benefits and offers some extra advantages:
>
> 1. The site stores a copy of the library file(s) on its own site.
> 2. The web page includes the library from the site itself instead of from the CDN
> 3. The script tag specifies a checksum calculated using a cryptographic hash function.
This kind of thing has been proposed a number of times. Unfortunately,
each time it has not gotten traction from browser vendors. I recommend
approaching browser vendors directly and encouraging them to implement
a solution along these lines.
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
More information about the whatwg
mailing list