在SSL上没有缓存头的情况下IE 8的默认缓存行为

时间:2015-11-26 08:03:55

标签: http internet-explorer caching ssl

在没有缓存标头的情况下,IE 8的默认缓存行为是什么?如果没有从服务器端设置标头,它将如何缓存响应,或者默认情况下是否遵循no-cache?连接是安全的,即HTTPS。

我正面临这个问题,我在响应中写字节流,而我设置的标题是 -

response.setContentType( “应用/ PDF;字符集= UTF-8;”);

response.setHeader(“Content-Length”,server.getContentLength()+“”);

response.setHeader(“Content-Disposition”,“attachment; filename = \”“+ fileName +”\“”);

我知道如果用户尝试通过HTTPS连接下载文件,任何阻止缓存的响应头都会导致Internet Explorer中的文件下载过程失败,但在我的情况下,没有指定缓存头明确。然后IE 8也说 -

无法下载。

Internet Explorer无法打开此站点。请求的网站不可用或无法找到。请稍后再试。

我没有得到它背后的确切原因。因此,我只能猜测IE 8的默认缓存机制。但它在IE 9+和其他浏览器中工作正常。

1 个答案:

答案 0 :(得分:0)

我找到了确切原因。它由我们自己的代码设置,它针对特定请求的每个响应。所以,现在我知道这些头文件是由我们设置的,并且在提供导出功能的代码中,我只是将它们覆盖为IE 8正常工作 -

response.setHeader(" Cache-Control",""); // HTTP 1.1

response.setHeader(" Pragma",""); // HTTP 1.0