[whatwg] Application deployment

Adam Barth whatwg at adambarth.com
Sun Jul 27 14:33:25 PDT 2008

Firefox already implements this today with the jar protocol.  Put your
content into a zip archive and access it using this kind of URL:


I'm not sure many sites use this feature, but it has been a source of
several recent security issues.


On Sun, Jul 27, 2008 at 2:05 PM, Philipp Serafin <phil127 at gmail.com> wrote:
> On Sun, Jul 27, 2008 at 8:44 PM, Russell Leggett
> <russell.leggett at gmail.com> wrote:
>> Hi all,
>> I checked through the archives, but did not see anything, so if this has
>> been addressed already, I apologize.
>> This is a suggestion that is more helpful to larger single page web
>> applications, but could also be very helpful to other resource intensive web
>> pages. My thought is that it could be extremely helpful to create some kind
>> of web application deployment format. Basically, the same idea as what java
>> does with jars (Java ARchives). A jar is basically just a zip file with a
>> different extension. Inside, it contains all the resources required for that
>> application, including code and images.
>> How hard would it be to support something similar in a browser? Instead of
>> worrying about concatenating javascript and css files to reduce HTTP
>> requests, if all js,css,and even images and other files could be zipped up
>> or tarred, that would only require a single HTTP request. This could
>> basically just add the files to the browser cache or other local storage
>> mechanism so that requests for the resources would not need to make an extra
>> trip.
>> Thanks,
>> Russ
> I think for HTML, this is already covered by MHTML
> <http://tools.ietf.org/html/rfc2557>. The problem here is probably to
> bring more people to implement this one.
> If a more generic approach is wished, how about this:
> A new "archive" URI scheme, that works as follows:
> Generic syntax: archive:(<URI to archive file>)/<path inside the archive>
> The action would be:
>  - recursively evaluate the URI in the first path and fetch the
> specified resource;
>  - if the received resource is in a supported archive format, search
> for the file specified in the second part and extract it;
> Possible examples:
> archive:(http://example.com/~joe/mywebpage.rar)/index.html
> archive:(ftp://example.com/applet.jar)/com.example.applet/core/App.class
> archive:(archive:(http://example.com/~joe/app/build.tar.gz)/build.tar)/main.cpp

More information about the whatwg mailing list