为什么http请求会缓存?显示from disk cache?

请求一个接口,发现status code = 200; 但是居然是否 from disk cache?接口也会缓存吗?请问是什么原因?
图片描述

阅读 18.3k
6 个回答

所有请求都可能会被缓存,避免缓存有很多种方法,其中最简单的就是给GET请求添加一个没用的随机参数,这样浏览器看到两个请求不一样,就不会取缓存了。

看看Response HeadersCache-Control以及Last-Modified,跟接不接口没有关系,具体细节查看http缓存

问问后端的程序员,是不是给这个借口特地设置了缓存过期时间,因为截图上有Cache-Control:max-age=15552000

15552000秒那就是180天

这种问题我也碰到过,你看你那个Response Headers 里面的 cache-control里面有个最大缓存时间max-age。你想要获取最新的数据只能请求的时候在拼接一个字段(时间戳)。当url不同的时候才会返回最新的数据

Nginx里面设置add_header ‘Access-Control-Max-Age’ 0;

你这个max-age是真滴大,设了max-age,那google浏览器会在首次请求后,max-age秒之内每次请求都是从cache中获取。不和服务器确认
这个max-age一般后端设置的,你可以问下后端是否对此接口进行了特殊设置

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题