Microsoft KB Archive/173145

{|
 * width="100%"|

PRB: Internet Explorer 3.x Leaks Memory when Submitting Pages Using POST Method

 * }

Q173145

-

The information in this article applies to:


 * Microsoft Internet Explorer (Programming) versions 3.01, 3.02, used with:
 * the operating system: Microsoft Windows 95
 * the operating system: Microsoft Windows NT 4.0
 * Microsoft Active Server Pages, version 1.0

-

SYMPTOMS
When working in Internet Explorer 3.x and submitting pages that use the  tag, you may notice one of the following on the client machine:

 Resources are used and not released. The computer slows, becomes sluggish, or may even hang.  You receive the following message

Out of memory. Please close one or more applications and try again



These symptoms occur on the client machine, not on the Web server. Shutting down Internet Explorer 3.x frees the memory and causes the computer to run normally.

CAUSE
Microsoft Internet Explorer 3.x caches page information when using the  tag and fails to free the memory until the application is shut down.

RESOLUTION
To prevent Internet Explorer 3.x from caching the page information, use Active Server Pages (ASP) to add an HTTP header to the page with the POST method. This is easily accomplished using Active Server Pages by adding the following line to the top of an .asp page:

<% Response.AddHeader "Pragma", "No-Cache" %> If the page with the POST method is an HTML page, simply add the ASP code to the page and change the extension to .asp to force the page to be parsed by the Asp.dll, thereby adding the header.

STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

MORE INFORMATION
Pages being hosted by Web servers that do not support ASP can use other methods such as Perl script to add an HTTP header. Consult the Perl or other language documentation for information on adding HTTP headers.

Steps to Reproduce Behavior
 Paste the code below into a page named POST.asp. Launch any resource monitor to view memory usage. For example, "Task Manager" in Windows NT. Launch the Post.asp file created in step 1 above in Internet Explorer.</li> Click Submit multiple times. Result: "Memory Usage History" in the Performance tab of Task Manager does not show an increase in memory usage.</li>  Remove the first line from the Post.asp file: <pre class="CODESAMP"><% Response.AddHeader "Pragma", "No-Cache" %> Save the file. </li> Refresh the Post.asp page in Internet Explorer.</li> Press the submit button multiple times.</li></ol>

Memory Usage History in the Performance tab of Task Manager will show an increase in memory usage.

<pre class="CODESAMP">=======Post.asp begin. Do not pass this line in Post.asp============= <% Response.AddHeader "Pragma", "No-Cache" %> <HTML> <HEAD><TITLE>Sample adding HTTP header using ASP</TITLE></HEAD> <BODY> <FORM Name=frmProposals METHOD=POST ACTION="post.asp"> <INPUT Type=Submit Value="Submit"> </FORM> </BODY> </HTML> Additional query words: leak

Keywords : kbnokeyword kbVisID

Issue type : kbprb

Technology : kbIEsearch kbAudDeveloper kbSDKIESearch