客户端缓存原理

缓存的最后一层,是直接面向客户端的客户端缓存。通常也把这部分称为Web缓存。Web缓存位于客户端。缓存会根据进来的请求保存输出内容的副本,例如HTML页面、图片、文件等,然后,当下一个请求来到时,如果是相同的URL请求,缓存直接使用副本去响应访问请求,而不是向服务器再次发出请求。
Web缓存的具体实现是由浏览器来实现的。浏览器在计算机上开辟了一块硬盘空间用于存储已经看过的网站的副本。浏览器缓存根据非常简单的规则进行工作:在同一个会话过程中会检查一次并确定缓存的副本为最新。这个缓存对于用户单击“后退” 或者单击刚访问过的链接特别有用,如果你浏览过程中访问到同一个图片,这些图片可以从浏览器缓存中调出并即时显现。

客户端缓存规则
前端页面缓存主要遵循HTTP协议与客户端(或服务器)的设置工作。通常遵循的规则如下:

  • 如果响应头信息告诉缓存器不要保留缓存,缓存就不会缓存相应内容。
  • 如果请求信息需要认证或者安全加密,相应内容也不会缓存
  • 如果在回应中不存在校验器(ETag 或者 Last-Modified头信息), 缓存服务器会认为缺乏直接的更新度信息。内容将会认为不可缓存。
  • 一个缓存的副本如果含有以下信息,内容将会被认为足够新
  • 含有完整的过期时间和寿命控制头信息,并且内容仍在保鲜期内。
  • 浏览器已经使用过缓存副本,并且在一个会话中已经检查过内容的新鲜度。
  • 缓存代理服务器近期内已经使用过缓存副本,并且内容的最后更新时间在上次使用期之前。
  • 够新的副本将直接从缓存中送出,而不会向源服务器发送请求
  • 如果缓存的副本已经太旧了,缓存服务器将向源服务器发出校验请求,用于确定是否可以继续使用当前拷贝继续服务。

猜你喜欢

转载自blog.csdn.net/Quiet_tomcat/article/details/91349170
今日推荐