BUG: Microsoft Internet Explorer Displays a Blank Page While It Uses an HTTP 1.0 Request in a WinInet Application (816405)



The information in this article applies to:

  • Microsoft Internet Explorer (Programming) 5
  • Microsoft Internet Explorer (Programming) 5.01
  • Microsoft Internet Explorer (Programming) 5.5

IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

When Internet Explorer uses an HTTP 1.0 protocol in a Win32 Internet Extension (WinInet) or a WinInet application to send multiple synchronous POST requests, then Internet Explorer may not display the page that the Web server returns. When you use Internet Explorer 5.0, a blank page appears instead of the page that you requested. When you use Internet Explorer version 5.5, you receive the following error message:
The page cannot be displayed

CAUSE

When an Internet Explorer POST request uses an HTTP 1.0 protocol, the HttpSendRequest appends two additional null bytes to the HttpSendRequest. The two null bytes result in the mismatch of the content length with the actual data sent. Therefore, Internet Information Services (IIS) identifies the packet as erroneous and then sends the RESET packet back to the client. After the RESET package returns to the client, Internet Explorer incorrectly displays the page.

WORKAROUND

To work around this problem, use one of the following methods:
  1. Use HTTP 1.1 instead of HTTP 1.0 to send a request. To do so, follow these steps:
    1. Start Internet Explorer.
    2. On the Tools menu, click Internet Options.
    3. Click the Advanced tab.
    4. Under HTTP 1.1 settings, click to select theUse HTTP 1.1 check box.


      -or-
  2. Modify the registry value for

    Internet Settings\SendExtraCRLF

    registry DWORD to 0x0. To do this, follow these steps:
    WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
    1. Click Start, and then click Run.
    2. In the Open textbox, type Regedit, and then click OK.
    3. Locate, and then click the following key in the registry:

      HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\

    4. On the Edit menu, click Add Value, and then add the following registry value:

      Value name: SendExtraCRLF
      Data type: REG_DWORD
      Radix: Decimal Value data: 0

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

REFERENCES

For more information about WinInet, visit the following Microsoft Developer Network Web sites:
http://msdn.microsoft.com/library/en-us/wininet/wininet/using_wininet.asphttp://msdn.microsoft.com/library/en-us/vccore98/HTML/_core_how_wininet_makes_it_easier_to_create_internet_client_applications.asp

For more information about WinInet registry settings, visit the following Microsoft Developer Network Web site:
http://msdn.microsoft.com/library/en-us/wcewinet/htm/coconWininetRegistryKeys.asp

Modification Type:MajorLast Reviewed:5/12/2003
Keywords:kbhtml kbhttp kbbug KB816405 kbAudDeveloper kbAudITPRO