[from disk cache] Axios 请求取得脏数据

原文地址:做棵大树

BG: 最近在开发一个项目的过程中,发现本机切换账户后,发送相同请求,竟然请求到了相同的数据,而后发现了这个小细节。

起初,我以为脏数据是由于后台缓存机制的问题,而后经过调试和搜寻发现,并非是后台缓存的问题。而是前台数据请求的问题,经过查看两次发送的请求,发现首次发送成功,而第二次,则在RequestHeader中出现了 from disk cache 的信息,请求并未发送成功。

那么什么是 from disk cache 呢?

from disk cache 是指已经在之前的某个时间加载过该资源,所以并不会请求服务器,且此资源不会随着该页面的关闭而释放掉,因为是存在硬盘当中的,下次打开仍会出现from disk cache

也就是说,前台自动查询了你以往的查询记录,而后从本地相同查询中取出了数据,并未发送至服务器重新获取;于是就出现了脏数据的情况。

顺带,我也查了另一个相类似的错误:from memory cache

该提示,也是指:这个资源是直接从内存中拿到的,不会请求服务器一般已经加载过该资源且缓存在了内存当中,当关闭该页面时,此资源就被内存释放掉了,再次重新打开相同页面时不会出现 from memory cache 的情况。

对于这种情况的解决也十分简单,禁用缓存即可:

headers: {‘Cache-Control’: ‘no-cache’}

Axios中: axios.defaults.headers['Cache-Control'] = 'no-cache'

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 9,371评论 0 5
  • 原文: https://zhuanlan.zhihu.com/p/44789005 前端缓存/后端缓存 我们先进入...
    谢大见阅读 4,910评论 0 0
  • 今天被一个后端同学给问住了,为什么200状态码后面有一个from memary cache?一时竟然答不上来。为了...
    戴眼镜的松鼠阅读 4,210评论 0 0
  • 网络特有的延迟以及数据传输的成本,制约互联网快速获取Web资源。为此,HTTP协议引入缓存以空间换时间,使浏览器缓...
    大头8086阅读 8,241评论 2 12
  • 参考《深入理解浏览器的缓存机制》进行整理 前言 缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略...
    琢磨先生lf阅读 4,057评论 1 1

友情链接更多精彩内容