HTTP的缓存策略-强制缓存与协商缓存

这篇具有很好参考价值的文章主要介绍了HTTP的缓存策略-强制缓存与协商缓存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Definition:HTTP的缓存策略指的是控制浏览器或代理服务器缓存哪些资源、以及如何使用和存储这些资源的规则。

常用的HTTP缓存策略包括:强制缓存、协商缓存、禁止缓存、条件缓存等策略。

本文只介绍其中最为常用的强制缓存与协商缓存。

强制缓存

Introduction:浏览器在访问资源之前会检查本地是否已经存在该资源的缓存副本,如果存在且未过期,则直接从缓存加载。此时不会向服务器发送任何请求。

简单而言:只有浏览器判断缓存无过期,直接使用浏览器本地缓存,主动方是浏览器

实现方式:在HTTP响应头存放Cache-Control相对时间或Expires绝对时间来判断资源是否过期,若同时存在,Cache-Control的优先级会高一些,所以一般用前者。

Cache-Control

缓存控制,可以设置max-age(最大缓存时间)、no-cache(不使用缓存)、no-store(不存储缓存副本)等指令。
Expires 资源到期时间,与Cache-Control的max-age类似,但是Expires是一个具体的日期和时间。

协商缓存

Introduction:浏览器会向服务器发送请求,服务器会返回资源的元数据(例如Last-Modified或ETag),浏览器根据元数据判断资源是否发生了变化,如果没有变化,则可以直接从缓存加载。

简单而言:需要通过服务端告知浏览器可以使用本地缓存资源,主动方是服务端

实现方式两种:

        ① 在HTTP响应头带上Last-Modified字段记录最后修改时间,然后在HTTP请求头带If-Modified-Since比较两者时间。两者都是记录页面最后修改时间,一致则返回304表示未改变;

        ② 在HTTP响应头带上Etag唯一标识响应资源,然后请求头带上IF-None-Match字段(携带的值就是Etag的值),该方式能以防时间被篡改,更为可靠,所以Etag这种方式的优先级也会更高。

Last-Modified

资源的最后修改时间,与If-Modified-Since一起使用,用于判断资源是否已经过期。

ETag

资源的唯一标识符,与If-None-Match一起使用,用于判断资源是否已经过期。

If-Modified-Since

上次访问资源时返回的Last-Modified值,用于判断资源是否已经过期,如果未过期,则返回304 Not Modified。

If-None-Match 上次访问资源时返回的ETag值,用于判断资源是否已经过期,如果未过期,则返回304 Not Modified。

这些缓存策略的使用目的,最终都是为了:减少冗余的数据传输,缓解服务器压力,提高网站性能,给用户更好的使用体验。文章来源地址https://www.toymoban.com/news/detail-664502.html

到了这里,关于HTTP的缓存策略-强制缓存与协商缓存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络】网络安全,HTTP协议,同源策略,cors,jsonp

    ❤️ Author: 老九 ☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 会生成一个公钥一个私钥,我现在有一个东西,我用公钥给它加密,公钥可以公开给任何一个人,只有对应的私钥可以解密;如果用对称加密最重要的坏处就是需要在网络上

    2024年02月07日
    浏览(36)
  • 记录--强制缓存这么暴力,为什么不使用协商缓存

    前段时间在看面经的时候,发现很多份面经中都被问到了 强缓存 和 协商缓存 。因此我觉得有必要写一篇文章来好好聊聊这两者。 浏览器缓存是浏览器在本地磁盘对用户最近请求过的文档进行存储,当访问者再次访问同一页面时,浏览器就可以直接从本地磁盘加载文档,其中浏览

    2024年02月10日
    浏览(34)
  • 【计算机网络】同源策略及跨域问题

    同源策略 是一套浏览器 安全机制 ,当一个 源 的文档和脚本,与另一个 源 的资源进行通信时,同源策略就会对这个通信做出不同程度的限制。 同源策略对 同源资源 放行 ,对 异源资源 限制 。因此限制造成的开发问题,称之为 跨域(异源)问题 。 1.1 同源和异源 源(orig

    2024年02月06日
    浏览(30)
  • 【计算机网络笔记】Web缓存/代理服务器技术

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月08日
    浏览(33)
  • 计算机网络—HTTP

    HTTP是超文本传输协议,可以拆成三部分: 超文本 传输 协议 HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于在Internet上进行数据通信的应用层协议。它允许将超文本格式(如HTML)的文档从Web服务器传输到客户端(通常是Web浏览器)。HTTP基于TCP/IP协议,提供了一种请

    2024年02月14日
    浏览(33)
  • 【计算机网络】HTTP

    应用层 典型的 协议 HTTP(超文本传输协议), 它是应用最广泛的协议 作用为: 将任意内容拉取到本地浏览器,让浏览器进行解释 客户端client 把自己的\\\"东西\\\" 给别人 同时也想把 别人的\\\"东西\\\" 拿到自己本地 一般称为 CS 模式 http中的网页文本 、图片 、视频、音频 统一称为资源

    2024年02月10日
    浏览(36)
  • [计算机网络]---Http协议

    前言 作者 :小蜗牛向前冲 名言 :我可以接受失败,但我不能接受放弃   如果觉的博主的文章还不错的话,还请 点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正  本期学习:htpp协议,认识URL, 理解htpp协议的基本结构,写一个简单的http协议。

    2024年02月19日
    浏览(38)
  • 计算机网络——HTTP协议

            HTTP(超文本传输协议),定义在RFC2616中,是用于分布式和协作式多媒体系统之间交互的应用层通信协议。         HTTP是一个无状态协议,意味着它不保存先前交互的记录。每个请求都独立于其他请求处理。         HTTP旨在促进客户端和服务器在分布式系

    2024年01月21日
    浏览(42)
  • 【计算机网络】HTTP(上)

    应用层 典型的 协议 HTTP(超文本传输协议), 它是应用最广泛的协议 作用为: 将任意内容拉取到本地浏览器,让浏览器进行解释 客户端client 把自己的\\\"东西\\\" 给别人 同时也想把 别人的\\\"东西\\\" 拿到自己本地 一般称为 CS 模式 http中的网页文本 、图片 、视频、音频 统一称为资源

    2024年02月09日
    浏览(34)
  • 【计算机网络】HTTP详解

    系列综述: 💞目的:本系列是个人整理为了 秋招工作面试 的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于 小林Codeing 进行的,每个知识点的修正和深入主要参考各平台大佬的文章,其中也可能含有少量的个人实验自证。 🤭结语:如果

    2024年02月15日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包