|
|
Applet Caching in Java Plug-in
|
Applet caching ensures that applets are not unnecessarily downloaded
by a browser every time a user references them. Java Plug-in has
supported caching in previous versions by using the same cache the browser
uses for all other web documents.
This works for casual applet usage, but larger applets can often
get flushed from the cache to make room for other documents since
the browser has no knowledge that an applet file might be needed in the
future. The result is that this caching strategy fails where is
needed most in large business applets.
This release introduces an alternative form of applet caching which allows
an applet deployer to decide her applet should be "sticky", that is, to
stay on the disk in a secondary cache which the browser cannot overwrite.
The only time "sticky" applets get downloaded after that is when they
are updated on their server. Otherwise the applet is always available
for quick loading. We recommend that applets which provide core
business applications be made sticky to improve their startup performance.
This new feature
is activated by including the new PARAM NAME="cache_option" and
PARAM NAME="cache_archive" values in the tag that specifies the use
of Java Plug-in as below:
<OBJECT ....>
<PARAM NAME="archive" VALUE="...">
....
<PARAM NAME="cache_option" VALUE="...">
<PARAM NAME="cache_archive" VALUE="...">
</OBJECT>
The cache_option attribute can take one of three values:
- No
- Disable applet installation. Always download the file from the web server.
- Browser
- Run applets from the browser cache (default).
- Plugin
- Run applets from the new Java Plug-in cache.
The cache_archive attribute contains a list of the files to be cached:
<PARAM NAME="cache_archive" VALUE="a.jar,b.jar,c.jar">
Like the archive attribute in the APPLET tag, the list of jar
files in the cache_archive attribute do not contain the full URL, but
are always downloaded from the codebase specified in the
EMBED/OBJECT tag.
Note that the list of JAR files in the cache_archive attribute and those
in the archive attribute may be similar but should not contain the
same JAR files. There are two possible cases:
- A JAR file is listed in cache_archive but not in
archive. In this case, the JAR file is cached according to
cache_option.
- A JAR file is listed in archive but not in
cache_archive. In this case, the JAR file is cached using the native
browser cache. This guarantees a minimum of caching.
cache_option and cache_archive can only be
specified once per EMBED/OBJECT tag. In addition, both attributes
must be specified. If either cache_archive or cache_option are
missing, Java Plug-in will treat the applet normally using the archive
attribute.
Note: Caching of the JAR files specified in the manifest's CLASSPATH
variable using Java Plug-in's cache is currently not supported.
|