在没有缓存标头的情况下,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+和其他浏览器中工作正常。
答案 0 :(得分:0)
我找到了确切原因。它由我们自己的代码设置,它针对特定请求的每个响应。所以,现在我知道这些头文件是由我们设置的,并且在提供导出功能的代码中,我只是将它们覆盖为IE 8正常工作 -
response.setHeader(" Cache-Control",""); // HTTP 1.1
response.setHeader(" Pragma",""); // HTTP 1.0