It is noticed that Expires value in MSK timezone in HTTP Header of response does not get respected by plugin.
A typical pair of HTTP Header of request and response in MSK timezone (server side) are look like below:
accept-encoding - pack200-gzip, gzip
content-type - application/x-java-archive
user-agent - Mozilla/4.0 (Windows 7 6.1) Java/1.8.0-ea
host - 127.0.0.1:8080
accept - text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
connection - keep-alive
ETag - W/"2777-1390642986140"
Expires - Sat, 25 Sep 2055 14:44:18 MSK
Last-Modified - Sat, 25 Jan 2014 09:43:06 GMT
Accept-Ranges - bytes
Expired date in very future is sent back, however plugin does not respect this. The net effect is that plugin will try to query the status of the jar again instead of skipping the querying.
The interesting part is that test executed on China and SCA's machine are both looking good.
China sent back string look like:
Expires - Sat, 25 Sep 2055 17:39:17 CST
Steps to reproduce:
1. Download tomcat and then unzip it locally - http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/INTJDK-7184947/apache-tomcat-6.0.26.zip.
2. Change local timezone to MSK ( Europe/Moscow).
3. Startup the tomcat.
3. Set security level to Medium, since we will run unsigned code. Switch java console on. Set trace level to all.
4. In browser, load http://127.0.0.1:8080/HTTP_Header/html/testRunBeforeExpireNoUpdate.html
5. (You don't need to accept any dialog because whether the applet is working is irrelevant here). Make sure the jar is downloaded by inspecting the trace.
6. Do NOT clean cache.
7. Load the link again, if you see the below in trace, then the issue is reproduced:
cache: Resource http://127.0.0.1:8080/HTTP_Header_Filter/classes/RunBeforeExpireNoUpdate.jar has expired.
network: Connecting http://127.0.0.1:8080/HTTP_Header_Filter/classes/RunBeforeExpireNoUpdate.jar with proxy=DIRECT
network: Connecting http://127.0.0.1:8080/ with proxy=DIRECT
network: ResponseCode for http://127.0.0.1:8080/HTTP_Header_Filter/classes/RunBeforeExpireNoUpdate.jar : 304
You should see something like below in trace when load the page second time
cache: Resource http://127.0.0.1:8080/HTTP_Header_Filter/classes/RunBeforeExpireNoUpdate.jar has future expires: Mon Oct 18 22:55:02 CST 2055 update check skipped.
Which means the "Expires" value is respected by plugin.
Note: no such issue when the server side time zone is changed to Biejing or SCA time. You could try to do so by change you local time zone. But remember to shutdown tomcat first before the change, then startup tomcat after the change.