代理与缓存

216 阅读1分钟

一、问题场景

H5项目,前一天晚上部署上线,回归正常;第二天早上存在一定用户拉取不到最新H5页面。

二、解决方案

修改项目投放入口链接,额外增加参数(时间戳)

三、探究原因

又是缓存???

我们先理一下用户客户端请求我们服务器端资源中间可能经历了什么。

🚀代理

归纳总结自这篇

代理服务器:

  1. 正向代理
  2. 反向代理 

🚀负载均衡 

归纳总结自这篇

Nginx七层(应用层)负载均衡软件:一个网页服务器

  1. 能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接
  2. 一个负载均衡器
  3. 一个HTTP缓存 

🚀缓存

归纳总结自这篇

  1. 浏览器缓存(强缓存,协商缓存,启发式缓存)
  2. 代理服务器缓存(共享缓存)
  3. 网管缓存

😂原因猜想

前提:能够通过改变投放链接解决问题

  1. 项目通过内部部署平台部署在服务器组(多台)上,不同用户按照负载算法从不同的服务器拉取资源;存在某服务器上的资源不是最新部署...【不可能】
  2. 客户端拉取资源需要经过反向代理服务器(转发),反向代理服务器存在缓存...
  3. 项目确实中间间隔很长时间没迭代,按照浏览器启发式缓存策咯,时间也很长...