编程技术分享平台

网站首页 > 技术教程 正文

Nginx和浏览器之间的缓存配合(nginx和zuul)

xnh888 2024-09-08 10:59:32 技术教程 21 ℃ 0 评论

在互联网的世界中,使用缓存可以有效提高访问的速度。

在web服务中,不仅要考虑服务端的缓存,还要考虑浏览器缓存生效的场景。

浏览器的缓存是否生效可以通过Nginx来控制。浏览器的缓存对用户体验影响也是相当大的。

下面我们一起来学习一下浏览器是如何使用缓存的。

我们先对比一下浏览器缓存和Nginx缓存

浏览器缓存

优点: 没有网络消耗,速度更快。因为缓存都在客户端本地,只需要读取浏览器本机的内存或磁盘就可以了。即使是有网络消耗,也就是说当本地缓存失效后,如果服务器端的资源本身没有被修改的话,也只是使用304做到网络消耗的最小化。

缺点: 就是只能提升已经缓存的那一个客户端的用户体验。



Nginx缓存:

优点:

  1. 只要配置到Nginx上,所有访问到这个Nginx的请求都会提升访问效率。
  2. 可以有效降低上游服务的负载,直接在Nginx这一层就返回了。
  3. 通过304响应 也可以减少与上游服务的流量,这一点同浏览器缓存通过304减少与Nginx的流量是一样的。

缺点:

  1. 用户仍然需要保持一定的网络消耗。


我们通常是同时使用浏览器缓存和Nginx缓存的。

这里主要用到的header除了前面提到的ETag和 If-None-Match

还有If-Modified-Since:

它的主要功能是基于时间的,就向Nginx服务发起请求,带上当前资源之前时间,如果Nginx发现那个时间之后一直没有发生变化就直接返回304,如果发生了变化则返回完整包体 200。


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表