Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

BUG: Cached XML files generate unnecessary GET requests


View products that this article applies to.

Symptoms

After an Extensible Markup Language (XML) or Extensible Stylesheet Language (XSL) document has been cached on a client computer, subsequent requests to use the file may result in an unnecessary "If-Modified-Since" GET request to the server if the file has not expired. These extra requests slow down the performance of high-scaled servers and large applications.

↑ Back to the top


Cause

This occurs because of a problem in the Msxml.dll file.

↑ Back to the top


Resolution

To resolve this problem, install Microsoft XML (MSXML) Parser version 3.0 or later, and use the XmlInst.exe tool to install MSXML 3.0 in Replace mode. When you run XmlInst.exe to install MSXML 3.0 in Replace mode, all application references (including those for Internet Explorer) are remapped to point to MSXML 3.0. If you do not install MSXML 3.0 in Replace mode, Internet Explorer continues to use MSXML.dll instead of MSXML3.dll, and the problem continually recurs.

You can download MSXML Parser version 3.0 from the following Microsoft Web site: For more information, click the following article number to view the article in the Microsoft Knowledge Base:
269238 Version list for the Microsoft XML parser
You can download the Xmlinst.exe Replace Mode tool from the following Microsoft Web site:

↑ Back to the top


Status

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.This bug was corrected in MSXML Parser version 3.0.

↑ Back to the top


More information

When Internet Explorer downloads and caches content, if the server has specified an expiration time for the content, Internet Explorer should not send "If-Modified-Since" GET requests to the server to check for content updates until after the expiration date and time have been reached (which is indicated in the expiration header). Internet Explorer should only send an "If-Modified-Since" GET request to check with the server if the content is expired. However, with MSXML.dll (and thus with .xml and .xsl files), an unnecessary "If-Modified-Since" GET request is sent even if the .xml or .xsl file has not expired.

If all the files are loaded in the cache because of a previous visit to the site, and if the files have not expired, this bug can be observed in several different circumstances:
  • When you click Back to browse to a previously visited XML document, Internet Explorer sends an "If-Modified-Since" header to the server to check the status of the XML file.
  • When you type the URL in the Address bar to an XML document that is linked to a XSL style sheet, Internet Explorer sends an "If-Modified-Since" header for the XSL document but not the XML document.
  • When you call the load method of the XML DOMDocument object to load an XML document through script, Internet Explorer sends an "If-Modified-Since" header for the XML file.
  • When you use the XML data island in an ASP or HTML page, if you click the URL or press the BACK button to access the page, Internet Explorer sends an "If-Modified-Since" GET request to the server for the XML file.
Perform the steps in the Resolution section to resolve the first two issues.

For more information about how to resolve the third issue, click the following article number to view the article in the Microsoft Knowledge Base:
308603 The DomDocument Load method ignores content expiration
At this time, there is no resolution for the fourth issue.

↑ Back to the top


References

For more information about how to install MSXML 3.0 in Replace mode, see the following Microsoft Web site: For more information about the XML DOMDocument object, see the following Microsoft Web site: For more information about developing Web-based solutions for Microsoft Internet Explorer, visit the following Microsoft Web sites:

↑ Back to the top


Keywords: kbbug, kbfix, kbmsxmlnosweep, kbnavigation, KB293099

↑ Back to the top

Article Info
Article ID : 293099
Revision : 4
Created on : 5/11/2006
Published on : 5/11/2006
Exists online : False
Views : 401