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

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

阅读 586
1 个回答

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

  • 场景一:我正在使用应用的途中,发布了新版本,这时候如何通知用户刷新?
  • 场景二:我发布了新版本把旧版本已经删除了,但用户使用的依然是旧版本,导致它访问的资源已经丢失
  • 场景三:我昨天访问网站,突然睡着了,到了第二天继续昨天的访问,但新版本已经发布,如何刷新用户界面?
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题