IE doesn’t follow redirect, gives “Internet Explorer cannot display the webpage”

httphttp-headersinternet-explorer

I have a form with a few fields. When you submit the form, the server responds with a redirect (HTTP 302).

When the form is submitted, if there is an <input type=file> field, IE doesn't follow the redirect, but instead gives an error: "Internet Explorer cannot display the webpage".

If there is no <input type=file> field, then it does follow the redirect as expected.

The HTTP 302 Response is exactly the same in both cases, differing only by the timestamp of the response.

I'm experiencing this in IE8 and IE9. (I haven't tried lower versions). Firefox, Chrome, Opera and Safari all follow the redirect as expected.

Notes:

  • The form has the attribute enctype="multipart/form-data".
  • This is happening over SSL
  • The redirect is not to a different protocol, host, or port than the URL the form POSTs to or is hosted on.
  • When I inspect HTTP traffic with Fiddler2, the issue disappears and IE behaves.

Best Solution

The question is 3 years old, but I recently ran into this problem myself and didn't find the correct answer anywhere. The answer marked as accepted here doesn't really answer anything.

What made a difference for me was adding the following header to the 302 response:

 Connection: close

I was redirecting to another site with full URL, and it looks like IE is trying to optimize connections by sending subsequent requests over the same TCP stream without re-opening it, but is not smart enough to figure out that the site is different without explicit "Connection" instruction in the header.

This happens in at least IE10 and IE11, and none of the other browsers has this problem.

Related Question