MEAN堆栈 - Express - 页面缓存在IE 11 - 304状态代码中

时间:2015-08-20 04:08:41

标签: javascript express internet-explorer-11 mean.io http-status-code-304

我正在使用MEAN堆栈来开发我的应用程序。应用程序在chrome中工作正常,但是当在IE中打开页面时,当用户请求页面时,我从服务器获得304状态。因为这个缓存页面被提供给用户。

有趣的是,如果我打开IE开发人员工具栏&然后选择网络选项卡并记录各种请求,应用程序开始正常工作。我开始从服务器获得200响应。

到目前为止,我已尝试过:inner

和此:

app.disable('etag');

但这两个选项对我都不起作用。

2 个答案:

答案 0 :(得分:0)

您是否尝试过设置此处所述的缓存标头:https://stackoverflow.com/a/9886945/442472

Expires: Tue, 03 Jul 2001 06:00:00 GMT
Last-Modified: {now} GMT
Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate

我认为etag本身不允许浏览器理解服务器端所需的缓存策略应该是什么。 etags实际上只是一种通过校验和来识别服务器端资源的方法。

答案 1 :(得分:0)

要回答我自己的问题,这就是我在客户端(Angular Side)添加的内容。 我基本上将日期时间作为查询字符串参数添加到每个外出的AJAX请求中。

$httpProvider.interceptors.push(function ($q) {
    return {
      'request': function (config) {
        config.url = config.url + '?token=' + new Date().toLocaleString() ;
        return config;
      }
    }
  });