Microsoft Knowledge Base Email Alertz

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

Search KbAlertz

Advanced Search

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]











Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

Article ID: 293099 - Last Review: May 11, 2006 - Revision: 4.0

BUG: Cached XML files generate unnecessary GET requests

This article was previously published under Q293099

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.

CAUSE

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

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:
http://www.microsoft.com/downloads/details.aspx?FamilyID=8167837e-0983-4988-99a4-377ef5c0da2e&DisplayLang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=8167837e-0983-4988-99a4-377ef5c0da2e&DisplayLang=en)
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
269238  (http://kbalertz.com/Feedback.aspx?kbNumber=269238/ ) Version list for the Microsoft XML parser
You can download the Xmlinst.exe Replace Mode tool from the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?FamilyID=1e6185d7-e4e4-43b1-8056-0e5ecd15a88a&DisplayLang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=1e6185d7-e4e4-43b1-8056-0e5ecd15a88a&DisplayLang=en)

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.

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  (http://kbalertz.com/Feedback.aspx?kbNumber=308603/ ) The DomDocument Load method ignores content expiration
At this time, there is no resolution for the fourth issue.

REFERENCES

For more information about how to install MSXML 3.0 in Replace mode, see the following Microsoft Web site:
http://msdn.microsoft.com/library/en-us/xmlsdk/html/c8c3527c-991c-4cb1-b3e1-b810ebade4a1.asp (http://msdn.microsoft.com/library/en-us/xmlsdk/html/c8c3527c-991c-4cb1-b3e1-b810ebade4a1.asp)
For more information about the XML DOMDocument object, see the following Microsoft Web site:
http://msdn.microsoft.com/library/en-us/xmlsdk/html/39b17b9c-04c7-4fa8-bcee-1f7d57eefd74.asp (http://msdn.microsoft.com/library/en-us/xmlsdk/html/39b17b9c-04c7-4fa8-bcee-1f7d57eefd74.asp)
For more information about developing Web-based solutions for Microsoft Internet Explorer, visit the following Microsoft Web sites:
http://msdn.microsoft.com/ie/ (http://msdn.microsoft.com/ie/)

http://support.microsoft.com/iep (http://support.microsoft.com/iep)

APPLIES TO
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer (Programming) 5.01 SP1
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer (Programming) 6.0
  • Microsoft XML Parser 2.0
  • Microsoft XML Parser 2.5
  • Microsoft XML Parser 2.6
Keywords: 
kbbug kbfix kbmsxmlnosweep kbnavigation KB293099
       

Community Feedback System

Very often, it takes hours to solve a problem. Very often, you've looked high and low, and have tried a lot of solutions. When you finally found it, chances are, it was because someone else helped you. Here's your chance to give back. Use our community feedback tool to let others know what worked for you and what didn't.

Please also understand that the community feedback system is not warranted to be correct, it's simply a system that we've built to let people try and help each other. If something in a feedback response doesn't make sense to you, or you're not comfortable making changes that the feedback talks about (like registry edits), please consult a professional.

Thank you for using kbAlertz.com Feedback System.

-- Scott Cate