网络(axios)缓存如何工作?

时间:2019-08-28 01:50:49

标签: django caching axios

当服务器缓存页面时,我认为它是这样工作的,但显然我错了。

  • 服务器使用密钥(为端点生成)将http响应内容存储在缓存存储中

  • 一个人可以为请求的某些方面(例如用户语言)创建单独的缓存键

  • 当请求相同密钥并将其存储在缓存存储区(例如redis)中时,网络服务器将返回缓存的响应,而不是重新创建响应

我认为上述理解是有缺陷的,因为,

  • 当我用axios命中端点时,第一个请求在服务器上被命中,但是第二个请求甚至没有命中端点,似乎axios正在重用先前的响应它收到了。

  • 因此,如果我清除两个请求之间的所有缓存存储,则第二个请求不会到达请求处理程序(django中的view函数)

  • 如上文所述,用于http请求(浏览器重新加载)的
  • 确实起作用,它命中了Web服务器并获取了缓存的响应。

在Django中,我正在使用from django.views.decorators.cache import cache_page

但是问题更多是Web响应缓存的常规工作

一般的Web缓存在这里很好地解释了* https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching

我猜在设置cache-control timeoutexpires时,某些客户端永远不会到达服务器,而某些客户端确实会到达服务器。

0 个答案:

没有答案