单页应用网站缓存不是由于index.html文件被缓存导致的吗?

单页应用引用的静态资源更新了,但是浏览器还是使用缓存的原因不是因为index.html文件被缓存,导致引用的静态资源hash值还是旧版本的资源吗?那为何服务端不配置一下让浏览器不缓存index.html文件,这样每次用户访问都是最新的index.html文件,里面引用的静态资源自然也是最新的,问题不就解决了吗?为何还会衍生出诸如轮询查询、请求头判断等解决更新网站方案?

阅读 576
1 个回答

你想到的别人早就想到了。单页面应用导致html只加载一次,因此就会有以下场景问题

  • 场景一:我正在使用应用的途中,发布了新版本,这时候如何通知用户刷新?
  • 场景二:我发布了新版本把旧版本已经删除了,但用户使用的依然是旧版本,导致它访问的资源已经丢失
  • 场景三:我昨天访问网站,突然睡着了,到了第二天继续昨天的访问,但新版本已经发布,如何刷新用户界面?
推荐问题