PRB: Internet Explorer 3.x Leaks Memory when Submitting Pages Using POST Method
ID: Q173145
|
The information in this article applies to:
-
Microsoft Internet Explorer (Programming) versions 3.01, 3.02, used with:
-
Microsoft Windows 95
-
Microsoft Windows NT 4.0
-
Active Server Pages
SYMPTOMS
When working in Internet Explorer 3.x and submitting pages that use the
<Form Method=POST> 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
<Form Method=POST> 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.
- Click Submit multiple times. Result: "Memory Usage History" in the
Performance tab of Task Manager does not show an increase in memory
usage.
- Remove the first line from the Post.asp file:
<% Response.AddHeader "Pragma", "No-Cache" %>
Save the file.
- Refresh the Post.asp page in Internet Explorer.
- Press the submit button multiple times.
Memory Usage History in the Performance tab of Task Manager will show
an increase in memory usage.
=======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
Version : WINDOWS:3.01,3.02; WINDOWS NT:1.0,1.0b
Platform : NT WINDOWS
Issue type : kbprb