Microsoft KB Archive/182620

= FIX: Applets Download Slowly If Host URL Uses IP Address =

Article ID: 182620

Article Last Modified on 12/4/2003

-

APPLIES TO


 * Microsoft Internet Explorer 4.0 128-Bit Edition
 * Microsoft Internet Explorer 4.01 128-Bit Edition
 * Microsoft Internet Explorer 4.0 128-Bit Edition
 * Microsoft Java Virtual Machine
 * Microsoft Software Development Kit for Java 2.02
 * Microsoft Software Development Kit for Java 2.01
 * Microsoft Internet Explorer 4.01 128-Bit Edition, when used with:
 * Microsoft Windows NT 4.0

-



This article was previously published under Q182620



SYMPTOMS
When Internet Explorer 4.0 or 4.01 loads an applet from a URL that begins with an IP address, for example "http://172.23.21.38/my folder", as opposed to "http://example.microsoft.com", the class files of the applet download very slowly, with a delay of roughly five seconds for each class file. The name of each class file is displayed in the status bar as it downloads.



CAUSE
In this scenario, builds 2252, 2334, and 2339 of the Virtual Machine for Java does a reverse lookup via DNS, using the IP address to get the host name, each time it loads a class file. It queries several sources for the name, receives a timeout for each one, and finally simply uses the IP address without knowing the host name.

The delay for each class is relatively short, but it can add up to several minutes to download a complex applet.



RESOLUTION
The available workarounds include the following:


 * If the Web server has a name, use that in the URL you connect to.
 * Provide a name for the Web server by adding it to a Domain Name Server or to your HOSTS file. That name can even be a string that matches the IP address.
 * Place the applet classes in a CAB file. There will be a short delay downloading the CAB file, but no further delay loading the applet.



STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug has been fixed in the Internet Explorer 4.01 Service Pack 1 and SDK for Java 2.02.



Steps to Reproduce Behavior
If you have or can connect to a Web page with an applet, and you know both the host name and the IP address of the Web server, you can reproduce this behavior with the following steps:


 * 1) On a machine with Internet Explorer 4, delete the Temporary Internet files.
 * 2) Start a new copy of Internet Explorer. If you are using Internet Explorer 4 with Active Desktop, you will need to use CTRL-Refresh to unload the cached classes the Virtual Machine for Java has loaded.

Connect to the Web page, using the IP address of the server, for example

http://172.23.21.38/myfolder/mypage.html

