JDK-8056933 : Cached files are requested again from web server (JNLP applet)
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 7u75,7u80,8u31,8u40
  • Priority: P3
  • Status: Closed
  • Resolution: Not an Issue
  • OS: generic
  • CPU: generic
  • Submitted: 2014-08-29
  • Updated: 2015-05-18
  • Resolved: 2014-12-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7
7u80Resolved
Related Reports
Relates :  
Description
HTTP HEADER "Expires" is honored by plug-in.

Steps to reproduce:
1. Download tomcat from http://stt-13.ru.oracle.com/newroot/testsuites/180_user_ws/stden/tomcat/tomcat-JDK-8056933.zip  
2. Unpack and run it (Catalina run).  
3. Open Java Control Panel / Security tab, click "Edit Site List...", add "http://127.0.0.1:8080" to ESL List. Go to Advanced, set Enable tracing + logging + Show applet livecycle exceptions + Show console.
2. Clear cache. 
3. Load the applet page which requests to download a jar: http://127.0.0.1:8080/HTTP_Header/html/testRunBeforeExpireNoUpdateJnlp.html
4. The web server will return the jar back with HTTP HEADER "Expires" with date in the future. 
5. Close the applet page and then make sure the jar is cached.
6. Load the applet page at step #1 again. 
7. The cache will NOT try to get the jar again back from the web server because the cache is NOT expired. 

Bug is reproduced if the second launch trigger a new request to the web server.

Tests failed 7u80 b02: http://aurora-ds3.us.oracle.com:9502/runs/574768.STT-DEPLOYMENT-1/reports/html/all-tests.html

HTTP_HeaderTest::testRunBeforeExpireNoUpdateJnlp
Cache verification failed. Reason: Expect no http request/response at all. But got: Entries size: 1 Entry[0]: requestUrl: http://127.0.0.1:8080/HTTP_Header_Filter/classes/RunBeforeExpireNoUpdateJnlp.jar responseCode: 304

HTTP_HeaderTest::testRunBeforeExpireWithUpdateJnlp
Cache verification failed. Reason: Expect no http request/reponse at all. But got: Entries size: 2 Entry[0]: requestUrl: http://127.0.0.1:8080/HTTP_Header_Filter/classes/RunBeforeExpireWithUpdateJnlp.jar responseCode: 200 Entry[1]: requestUrl: http://127.0.0.1:8080/HTTP_Header_Filter/classes/RunBeforeExpireWithUpdateJnlp.jar responseCode: 200

RULE HTTP_HeaderTest::testRunBeforeExpireNoUpdateJnlp any any
RULE HTTP_HeaderTest::testRunBeforeExpireWithUpdateJnlp any any
Comments
Closing it instead of resolved.
04-12-2014

The new security fix changed the cache behavior so these tests are no longer valid (see INTJDK-7184947)
28-11-2014

Testsuite name: plugin / HTTP_Header Test name(s): HTTP_HeaderTest::testRunBeforeExpireNoUpdateJnlp + HTTP_HeaderTest::testRunBeforeExpireWithUpdateJnlp Product(s) tested: 7u80 b02 OS/architecture: Windows x64 Error log file (if present): http://aurora-ds3.us.oracle.com:9502/runs/574768.STT-DEPLOYMENT-1/reports/html/all-tests.html http://aurora-ds3.us.oracle.com:9502/runs/574768.STT-DEPLOYMENT-1/reports/html/plugin/HTTP_Header/testRunBeforeExpireNoUpdateJnlp.trace http://aurora-ds3.us.oracle.com:9502/runs/574768.STT-DEPLOYMENT-1/reports/html/plugin/HTTP_Header/testRunBeforeExpireWithUpdateJnlp.trace Reproducible: Always Reproducible on machine: spb23042 Is it a Regression: Yes Regression introduced in release/build: 7u80 b02 Test result on the last GAed release for this train: Pass Is it a platform specific issue: No Is it a new (previously unsupported) OS/browser/mode testing: No Exception/Error from Log: Steps to reproduce: 1. Download tomcat from http://stt-13.ru.oracle.com/newroot/testsuites/180_user_ws/stden/tomcat/tomcat-JDK-8056933.zip 2. Unpack and run it (Catalina run). 3. Open Java Control Panel / Security tab, click "Edit Site List...", add "http://127.0.0.1:8080" to ESL List. Go to Advanced, set Enable tracing + logging + Show applet livecycle exceptions + Show console. 2. Clear cache. 3. Load the applet page which requests to download a jar: http://127.0.0.1:8080/HTTP_Header/html/testRunBeforeExpireNoUpdateJnlp.html 4. The web server will return the jar back with HTTP HEADER "Expires" with date in the future. 5. Close the applet page and then make sure the jar is cached. 6. Load the applet page at step #1 again. 7. The cache will NOT try to get the jar again back from the web server because the cache is NOT expired.
03-09-2014