Netscape4.6 + Java Plug-in 1.3 (JRE 1.3.0-C) で、キャッシュ指定の動きメモ1
仕様:
- http://java.sun.com/products/plugin/1.3/docs/ja/cache.html
- http://java.sun.com/products/plugin/1.3/docs/ja/appletcaching.html
とりあえず、さまざまな方法で Applet の jar ファイルを指定し、リクエストを Axis 付属の tcpmon で監視してみた。
ケース1 jar ファイルを archive で指定
1回目・キャッシュなし
==== Request ==== GET /lib.jar HTTP/1.0 Referer: http://localhost/applet.html Connection: Keep-Alive User-Agent: Mozilla/4.6 [ja] (WinNT; I) Pragma: no-cache Host: localhost Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: ja Accept-Charset: Shift_JIS,*,utf-8 GET /applet.jar HTTP/1.0 Referer: http://localhost/applet.html Connection: Keep-Alive User-Agent: Mozilla/4.6 [ja] (WinNT; I) Pragma: no-cache Host: localhost:8080 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: ja Accept-Charset: Shift_JIS,*,utf-8
2回目・キャッシュあり
==== Request ==== GET /lib.jar HTTP/1.0 If-Modified-Since: Fri, 16 Jan 2004 08:43:22 GMT; length=549826 Referer: http://localhost/applet.html Connection: Keep-Alive User-Agent: Mozilla/4.6 [ja] (WinNT; I) Pragma: no-cache Host: localhost Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: ja Accept-Charset: Shift_JIS,*,utf-8 GET /applet.jar HTTP/1.0 If-Modified-Since: Fri, 22 Mar 2002 16:32:48 GMT; length=23994 Referer: http://localhost/applet.html Connection: Keep-Alive User-Agent: Mozilla/4.6 [ja] (WinNT; I) Pragma: no-cache Host: localhost:8080 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: ja Accept-Charset: Shift_JIS,*,utf-8
Applet の jar を archive で指定した場合、ブラウザキャッシュを使用する。ブラウザキャッシュを使用するときはローカルキャッシュの有無にかかわらずブラウザはリクエストヘッダに Pragma: no-cache を付加する*1。ローカルキャッシュがある場合、ブラウザは条件付 GET を発行し、キャッシュしているものが最新ならばそれを使用する。
*1:これって EMBED 要素の仕様なの? firefox0.8 でも同じ動作なんだけど。