http缓存的那些事

本文详细探讨了HTTP缓存的重要性,包括加快访问速度、减少流量消耗和减轻服务器压力。介绍了浏览器的刷新方式,并深入解析了缓存流程,分为强制缓存(Expires、Cache-Control)和协商缓存(Etag/If-None-Match、Last-modified/If-Modified-Since)。此外,还讨论了如何避免浏览器缓存以及前端缓存策略,强调合理利用缓存以优化用户体验。
摘要由CSDN通过智能技术生成

本文章主要内容参考了 彻底理解浏览器的缓存机制(http缓存机制) 这篇文章,有些图画的很好也是直接用了,特此感谢!另外本文章扩充了一些额外知识,以及个人思考,希望大家一起学习。

为什么需要缓存?

  • 加快网站访问速度
  • 减少用户流量消耗
  • 减少服务器压力

浏览器刷新方式

只能在浏览器(以chrome为例)调试模式下,才能右击刷新按钮弹出菜单,否则需要快捷键或者手动打开菜单

image.png

  • 正常重新加载:正常刷新,使用缓存数据
  • 硬性重新加载:强制浏览器重新下载并加载内容。资源有可能来自于缓存的版本(如果页面通过重定向加载额外的资源,则有可能会从缓存加载数据)
  • 清空缓存并硬性重新加载:完全清除页面的缓存并重新下载所有内容

缓存流程解析

流程解析

浏览器第一次发起请求,服务端响应请求,返回相应的缓存标识,浏览器根据相应的标识,决定是否将响应结果和缓存标识保存入浏览器缓存

image.png

需要注意的点:

  • 浏览器每次发起请求,都会先在浏览器缓存中查找该请求之前的结果以及缓存标识
  • 浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中

以上两点结论就是浏览器缓存机制的关键,根据是否需要向服务器重新发起HTTP请求,可以将缓存过程分为两个部分,分别是强制缓存协商缓存

强制缓存

强制缓存就是向浏览器缓存查找该请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程

规则:当浏览器向服务器发送请求的时候,服务器会将缓存规则放入HTTP响应的报文的HTTP头中和请求结果一起返回给浏览器,控制强制缓存的字段分别是ExpiresCache-Control,其中Cache-Control的优先级比Expires

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值