Actually blank page can be caused by many reasons. I will post more cases about blank web page troubleshooting for your interesting later.

 

Today let me share one I worked on at the end of last year. I think it is a good example about how to use wininet log to figure out kind of issue.

 

Customer report when open a link in IE, web page display blank (web page in loading status for a while).

 

In the network monitor trace, it shows IE stop sending request out after receiving 1st redirect response (HTTP 302).

 

HTTP:Request, GET /pac.asp

HTTP:Response, HTTP/1.1, Status: Ok, URL: /pac.asp

HTTP:Request, GET http://www.redirect1.net/en.asp

HTTP:Response, HTTP/1.1, Status: Moved temporarily, URL: http://www.redirect1.net/en.asp

          Location:  http://www.redirect2.net/redir.asp?logonpath=/iisdefault.asp

 

IE doesn’t send http://www.redirect2.net/redir.asp?logonpath=/iisdefault.asp request anymore.

 

In order to find out why IE stop sending request out, we captured wininet log.

 

Windows Visa & Windows 2008

http://blogs.msdn.com/b/wndp/archive/2006/03/28/wininet-etw-tracing-support-in-windows-vista.aspx

 

Windows 7 & Windows 2008 R2

http://blogs.msdn.com/b/jpsanders/archive/2009/08/24/using-netsh-to-analyze-wininet-problems-in-windows-7.aspx

 

There are some interesting things found in wininet log. From above netmon log, customer use automatic configuration script (e.g. proxy.asp) in IE LAN settings.

 

Open the Wininet log in Network Monitor Tool, and filter by Description.contains(“proxystring”):

 

WinINet_MicrosoftWindowsWinINet     WinINet_MicrosoftWindowsWinINet:Client has successfully retrieved proxy data for accessing a specified resource: URL=http://www.redirect1.net, ProxyString= PROXY apacproxy.com:8080; DIRECT

WinINet_MicrosoftWindowsWinINet     WinINet_MicrosoftWindowsWinINet:Client has successfully retrieved proxy data for accessing a specified resource: URL=http://www.redirect1/en.asp, ProxyString== PROXY apacproxy.com:8080; DIRECT

WinINet_MicrosoftWindowsWinINet     WinINet_MicrosoftWindowsWinINet:Client has successfully retrieved proxy data for accessing a specified resource: URL=http://www.redirect2.net, ProxyString=DIRECT

WinINet_MicrosoftWindowsWinINet     WinINet_MicrosoftWindowsWinINet:Client has successfully retrieved proxy data for accessing a specified resource: URL=http://www.redirect2.net/redir.asp?logonpath=/iisdefault.asp, ProxyString=PROXY apacproxy.com:8080;DIRECT

 

For http://www.redirect1.net and http://www.redirect1.net/en.asp,  proxy data  “PROXY apacproxy.com:8080;DIRECT” is the same

For http://www.redirect2.net and http://www.redirect2.net/redir.asp, proxy data is different, the one is “DIRECT” and the other is “PROXY apacproxy.com:8080;DIRECT”

 

Let’s check how proxy.asp defined. I simplified it as below.

 

function FindProxyForURL(url, host)

{

 

          if (shExpMatch(url, "*://www.redirect2.net"))

          {

                   return "DIRECT";

          }

 

          if (shExpMatch(url, "https://*"))

          {

                   return "PROXY apacproxy.com:8080";

          }

          else

          {

                   return "PROXY apacproxy.com:8080; DIRECT";

          }                 

}

 

 

There is conflict for the same domain http://www.redirect2.net. Based on above script, it returns different proxy settings for the same domain http://www.redirect2.net and http://www.redirect2.net/redir.asp. This doesn't make sense, so IE will treat it as bad proxy.

 

Solution

======

In this case, the proxy for www.redirect2.net should be “PROXY apacproxy.com:8080;DIRECT”. After remove the 1st if condition statement, the web page can be displayed properly.

 

More Information 1

=============

In this case, IE always retrieves root domain URL proxy setting first and then location URL. Actually, in my test environment, IE retrieves actual location URL directly. I didn’t see such scenario for root domain URL proxy retrieve. I suppose there is some network setting for this in customer corp environment.  

I will add here if I get more information.

 

More Information 2

===========

Please note too many redirects will cause blank page as well. My teammate Aaron worked on another blank page case and found if there are more than 10 redirections combined to the destination page, and IE 8 stops at the 11th redirection.

 

This behavior of IE 8 is implemented according to RFC2616, which recommend a maximum of five redirections should be detected as an infinite redirection loop. And IE 8 set the default value as 10.

 

To change the default redirection limit, you can add the following registry key on the client and specify the limitation needed by your website.

 

HKCU\Software\Microsoft\windows\currentversion\Internet settings

DWORD Value MaxHttpredirects

 

*Restart IE is required.

 

 

Happy Chinese New Year!

 

Anik from APGC DSI Team