美文网首页
HTTP缓存

HTTP缓存

作者: 小麻烦爱学习 | 来源:发表于2022-12-11 07:01 被阅读0次

    http缓存:存储与请求关联的响应,并将存储的响应复用与后续请求

    http缓存的好处:

    1. 响应速度快
    2. 减轻服务器的压力

    http缓存如何实现

    • 扩展:http的头部分为:
      • 请求头
      • 响应头
      • 通用头:即可以用在请求头,又可以用在响应头。比如Cache-Control
      • 实体头:实体是指http报文想要传输的实际数据。比如上传文件时上传的文件,加载静态资源时的资源。实体报头可能同时存在于 HTTP 请求和响应信息中,实体报头既非请求或响应报头。

    http缓存分类

    按存储范围:私有缓存、共享缓存

    私有缓存

    存储在特定的客户端,比如浏览器。通过Cache-Control:private

    共享缓存

    存储在客户端和服务器之间。通过Cache-Control:public

    浏览器的强制缓存和协商缓存

    • 强缓存:

      • 发起http请求时,直接从浏览器读取缓存,请求不必到达服务器。
      • 如果缓存命中,http状态码为200 OK(from memory cache)和 200 OK(from disk cache)
    • 协商缓存:

      • 发起http请求时,要经过和服务器的协商,才可以使用浏览器的缓存
      • 如果缓存命中,http状态码为304
    • 如何判断浏览器的缓存是否直接可用?

      • 查看是否有通用头Cache-Control
        • 如果设置了Cache-Control:max-age=<seconds>,缓存的最大有效期
        • 如果设置了Cache-Control:no-cache,表示每次都要使用协商缓存
        • 如果设置了Cache-Control:no-store,表示不使用任何缓存
      • 如果没有Cache-Control,查看是否有响应头Expires,看当前事情是否超过Expires设置的时间
    • 如何判断协商缓存是否命中?

    相关文章

      网友评论

          本文标题:HTTP缓存

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