美文网首页
http 缓存

http 缓存

作者: 李秀成 | 来源:发表于2020-08-04 09:45 被阅读0次
  • 概述
       http 缓存 就是浏览器缓存,机制是根据http的报文的缓存标识进行的,http的报文非为俩种:
          1、 HTTP请求 Request 报文:请求行 - 请求头(通用信息头,请求头,实体头)- 请求报文主体
          2、HTTP响应 Response 报文:状态行 - HTTP头(通用信息头,响应头,实体头)- 响应报文主体

注:通用信息头指的是请求和响应报文都支持的头域,分别为Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via;实体头则是实体信息的实体头域,分别为Allow、Content-Base、Content-Encoding、Content-Language、Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、Etag、Expires、Last-Modified、extension-header。这里只是为了方便理解,将通用信息头,响应头/请求头,实体头都归为了HTTP头

缓存过程
   浏览器与服务器通信的方式为应答模式,即是:浏览器发起HTTP请求 – 服务器响应该请求。浏览器在第一次发起求情得到结果后,会根据响应报文中的HTTP头的缓存标识决定缓存结果,是则将请求结果和缓存表示存到浏览器缓存中。
      1、浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识
      2、浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中

强制缓存 和 协商缓存

  • 强制缓存
       强制缓存就是向浏览器缓存查找该请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程,强制缓存的情况主要有三种
          1、不存在该缓存结果和缓存标识,强制缓存失效,则直接向服务器发起请求(跟第一次发起请求一致)
          2、存在该缓存结果和缓存标识,但是结果已经失效,强制缓存失效,则使用协商缓存
          3、存在该缓存结果和缓存标识,且该结果没有还没有失效,强制缓存生效,直接返回该结果
    控制强制缓存的字段分别是Expires(1.0)和Cache-Control(1.1),其中Cache-Conctrol的优先级比Expires高

  • 协商缓存
       协商缓存就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程,协商缓存的情况主要有俩种
          1、协商缓存生效,返回304
          1、协商缓存失败,返回200和请求结果

Cache-Conctrol
   (1)public:所有内容都将被缓存(客户端和代理服务器都可缓存)
   (2)private:所有内容只有客户端可以缓存,Cache-Control的默认取值
   (3)no-cache:客户端缓存内容,但是是否使用缓存则需要经过协商缓存来验证决定
   (4)no-store:所有内容都不会被缓存,即不使用强制缓存,也不使用协商缓存
   (5)max-age=xxx (xxx is numeric):缓存内容将在xxx秒后失效

相关文章

  • HTTP缓存原理

    什么是HTTP缓存 HTTP缓存通常指浏览器缓存,基于HTTP中header字段实现HTTP缓存分为强缓存和协商缓...

  • 前端缓存

    前端缓存 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务...

  • 前端缓存详解

    一、前言 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务...

  • PWA笔记一:Web的万物基础缓存

    前言 这里讨论的缓存包括两种,一种是HTTP缓存,一种是Service Worker缓存。 HTTP缓存 HTTP...

  • 前端缓存的理解 或者 前端数据持久化的理解(强制缓存、协商缓存)

    前端缓存分为HTTP缓存和浏览器缓存 其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而...

  • http缓存和各个版本差异理解

    http缓存我们可以通过设置http头部属性来对资源进行缓存,资源缓存分为强制缓存和协商缓存 强制缓存expire...

  • http缓存

    http缓存分为强制缓存和对比缓存 强制缓存时, 客户端先判断本地缓存是否有效(http/1.1通过Cache-C...

  • HTTP缓存

    缓存控制Cache-Control Cache-Control是Web性能优化的一种,能加速HTTP请求与响应。 ...

  • http缓存

    来源: 《http权威指南》学一个东西,怎么去学习呢?这分为三个步骤,是什么, 为什么, 怎么做?文章我会着重讲怎...

  • Http缓存

    参考文章:http://oohcode.com/2015/05/28/http-cache/ 客户端 头字段: C...

网友评论

      本文标题:http 缓存

      本文链接:https://www.haomeiwen.com/subject/egbirktx.html