IE : Unable to download * from *. Unable to open this Internet site. The requested site is either unavailable or cannot be found

Solution 1:

Just like rymo said set Cache-Control: private, If your response header happen to have the Pragma :no-cache, you also have to change it to Pragma: token .

Solution 2:

Based on the KB article David offered here (Internet Explorer file downloads over SSL do not work with the cache control headers), we changed our outgoing headers away from Cache-Control: no-cache to Cache-Control: private. This seems to have resolved the IE8 problem without affecting other browsers. Beware of using Cache-Control: no-store as well.

Solution 3:

It turns out IE8 can be made to accept fully-disabled caching, but it is very picky about the exact order of the headers. So instead of falling back to private (which allows certain caching and might not fit with your security needs) use:

Cache-Control: no-store, no-cache, must-revalidate

When specified in that exact order - first no-store THEN no-cache - IE8 will allow the file download without error. Be sure also that the Pragma header is NOT set.