Netscape4.6 + Java Plug-in 1.3 (JRE 1.3.0-C) で、キャッシュ指定の動きメモ5
ケース5 JRE 1.3.0_01 で jar ファイルを cache_archive で指定、かつ cache_option="Plugin"
1回目・キャッシュなし
==== Request ==== HEAD /lib.jar HTTP/1.1 User-Agent: Java1.3.0_01 Host: localhost Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive ==== Request ==== GET /lib.jar HTTP/1.1 User-Agent: Java1.3.0_01 Host: localhost Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive HEAD /applet.jar HTTP/1.1 User-Agent: Java1.3.0_01 Host: localhost:8080 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive ==== Request ==== GET /applet.jar HTTP/1.1 User-Agent: Java1.3.0_01 Host: localhost Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive
2回目・キャッシュあり
==== Request ==== HEAD /lib.jar HTTP/1.1 User-Agent: Java1.3.0_01 Host: localhost Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive ==== Request ==== HEAD /applet.jar HTTP/1.1 User-Agent: Java1.3.0_01 Host: localhost Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive
JRE 1.3.0_01 ではちゃんとバグが改修され、キャッシュを使用している。条件付 GET を発行してサーバ側にキャッシュアーカイブが最新か判定してもらうのではなく、HEAD メソッドで Last-Modified と Content-Length を取得し、自分でキャッシュアーカイブが最新か判定している。