-
Bug
-
Resolution: Won't Fix
-
P3
-
None
-
1.3.1
-
x86
-
windows_2000
Name: gm110360 Date: 01/22/2004
FULL PRODUCT VERSION :
java version "1.3.1_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_09-b03)
Java HotSpot(TM) Client VM (build 1.3.1_09-b03, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows 2000 [Version 5.00.2195]
EXTRA RELEVANT SYSTEM CONFIGURATION :
IE 6.0 sp1 browser; IIS 5 web server
A DESCRIPTION OF THE PROBLEM :
In java plugin 1.3.1_x, the browser's cacheing is used to detect when to download jars. In 1.3.1_07, this is what one sees --- the browser downloads the jar the first time, and on the next instance, the browser sees a 304 HTTP/Cache code and doesn't download the jar again.
However, with 1.3.1_09 (and _10), this behavior is broken. The plugin makes separate requests with it's own user-agent and doesn't detect 304 (HTTP cached code) correctly.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
- Make sure you have 1.3.1_09 plugin installed.
- Install the html code below as .../wwwroot/swingset/index.html, along with swingset.jar in that directory (from the 1.3.1_09 release).
- Make sure the web server IIS is set to log cs-method, cs-uri-stem, sc-status, sc-bytes and cs(User-Agent) at least.
- Flush the IE cache and then hit http://..../swingset.
- Stop the web server to flush the web server log, and confirm that the HTML code 200 shows that the jar was downloaded (1333624 bytes) by the browser user agent
- You'll also see an additional request for /swingset/SwingSet2.jar with code 200 and bytes=28916, with user-agent as Java1.3.1_09
- Quit IE, restart the web server, and re-launch IE and go to http://..../swingset again.
- Stop the web server to flush the web server log, and confirm that the HTML code 304 shows that the jar was *NOT* downloaded by the browser, but you'll still see that the Java1.3.1_09 agent downloaded
28916 bytes with HTTP Code 200.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The browser's user agent shows the correct behavior: the full jar downloaded the first time, only the header downloaded next time (a few hundred bytes).
[see java 1.3.1_07 plugin for the correct behavior]
ACTUAL -
The java plugin 1.3.1_09 user-agent downloads several Kbytes each time, even though the jar hasn't changed. For our case, with 10+ jars, this addes up to a significant delay in launching applets.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
Here's a modified version of the swingset html file that I placed as .../wwwroot/swingset/index.html, along with swingset.jar in that directory. It's modified to request 1.3.1_09 plugin explicitly.
You can also change the 09 to 07 and see the correct behavior when 1.3.1_07 plugin is used.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>SwingSet demo</title>
</head>
<body>
<h1>SwingSet demo</h1>
<!--"CONVERTED_APPLET"-->
<OBJECT classid="clsid:CAFEEFAC-0013-0001-0009-ABCDEFFEDCBA"
WIDTH = 695 HEIGHT = 525>
<PARAM NAME = CODE VALUE = SwingSet2Applet >
<PARAM NAME = CODEBASE VALUE = "." >
<PARAM NAME = ARCHIVE VALUE = "SwingSet2.jar" >
<PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.3.1_09">
<PARAM NAME="scriptable" VALUE="false">
<COMMENT>
<EMBED type="application/x-java-applet;jpi-version=1.3.1_09"
CODE = SwingSet2Applet CODEBASE = "."
ARCHIVE = "SwingSet2.jar" WIDTH = 695 HEIGHT = 525 scriptable=false>
<NOEMBED></COMMENT>
</NOEMBED></EMBED>
</OBJECT>
</body>
</html>
---------- END SOURCE ----------
(Incident Review ID: 235311)
======================================================================
FULL PRODUCT VERSION :
java version "1.3.1_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_09-b03)
Java HotSpot(TM) Client VM (build 1.3.1_09-b03, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows 2000 [Version 5.00.2195]
EXTRA RELEVANT SYSTEM CONFIGURATION :
IE 6.0 sp1 browser; IIS 5 web server
A DESCRIPTION OF THE PROBLEM :
In java plugin 1.3.1_x, the browser's cacheing is used to detect when to download jars. In 1.3.1_07, this is what one sees --- the browser downloads the jar the first time, and on the next instance, the browser sees a 304 HTTP/Cache code and doesn't download the jar again.
However, with 1.3.1_09 (and _10), this behavior is broken. The plugin makes separate requests with it's own user-agent and doesn't detect 304 (HTTP cached code) correctly.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
- Make sure you have 1.3.1_09 plugin installed.
- Install the html code below as .../wwwroot/swingset/index.html, along with swingset.jar in that directory (from the 1.3.1_09 release).
- Make sure the web server IIS is set to log cs-method, cs-uri-stem, sc-status, sc-bytes and cs(User-Agent) at least.
- Flush the IE cache and then hit http://..../swingset.
- Stop the web server to flush the web server log, and confirm that the HTML code 200 shows that the jar was downloaded (1333624 bytes) by the browser user agent
- You'll also see an additional request for /swingset/SwingSet2.jar with code 200 and bytes=28916, with user-agent as Java1.3.1_09
- Quit IE, restart the web server, and re-launch IE and go to http://..../swingset again.
- Stop the web server to flush the web server log, and confirm that the HTML code 304 shows that the jar was *NOT* downloaded by the browser, but you'll still see that the Java1.3.1_09 agent downloaded
28916 bytes with HTTP Code 200.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The browser's user agent shows the correct behavior: the full jar downloaded the first time, only the header downloaded next time (a few hundred bytes).
[see java 1.3.1_07 plugin for the correct behavior]
ACTUAL -
The java plugin 1.3.1_09 user-agent downloads several Kbytes each time, even though the jar hasn't changed. For our case, with 10+ jars, this addes up to a significant delay in launching applets.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
Here's a modified version of the swingset html file that I placed as .../wwwroot/swingset/index.html, along with swingset.jar in that directory. It's modified to request 1.3.1_09 plugin explicitly.
You can also change the 09 to 07 and see the correct behavior when 1.3.1_07 plugin is used.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>SwingSet demo</title>
</head>
<body>
<h1>SwingSet demo</h1>
<!--"CONVERTED_APPLET"-->
<OBJECT classid="clsid:CAFEEFAC-0013-0001-0009-ABCDEFFEDCBA"
WIDTH = 695 HEIGHT = 525>
<PARAM NAME = CODE VALUE = SwingSet2Applet >
<PARAM NAME = CODEBASE VALUE = "." >
<PARAM NAME = ARCHIVE VALUE = "SwingSet2.jar" >
<PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.3.1_09">
<PARAM NAME="scriptable" VALUE="false">
<COMMENT>
<EMBED type="application/x-java-applet;jpi-version=1.3.1_09"
CODE = SwingSet2Applet CODEBASE = "."
ARCHIVE = "SwingSet2.jar" WIDTH = 695 HEIGHT = 525 scriptable=false>
<NOEMBED></COMMENT>
</NOEMBED></EMBED>
</OBJECT>
</body>
</html>
---------- END SOURCE ----------
(Incident Review ID: 235311)
======================================================================