首先,我们的应用程序进行了POST,而IE 11不会对其进行缓存。因此,一切正常。但是由于CORS,我们改用GET来简化生活。现在我们遇到了一个已知问题,即IE缓存GET请求。我们的获取请求如下所示:
url/?action=myaction&data=base64codedData
为了防止缓存问题,我们将时间戳添加到每个GET请求的base64编码字符串中,以确保每个GET请求都是不同的。但是在第一个请求之后,我们仍然遇到了缓存问题。
为了解决这个问题,我们添加了标头Cache-control和Pragma。
好奇的是:IE为什么会缓存与以前明显不同的GET请求?
IE非常渴望缓存页面,this article说明了您需要进行的防止缓存的工作。
每个浏览器的缓存默认行为都不同,它的设计是这样的。您还可以参考this article,以获取有关IE缓存机制的更多信息:我们对Internet Explorer 9缓存内容的方式进行了大量改进,以确保从缓存中加载尽可能多的资源。 。