Netscape4.6 + Java Plug-in 1.3 (JRE 1.3.0-C) で、キャッシュ指定の動きメモ1

仕様:

とりあえず、さまざまな方法で 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 でも同じ動作なんだけど。