前端搬砖师

前端搬砖师 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

前端搬砖师 发布了文章 · 1月15日

HTTP请求头和响应头中cache-control的区别

都知道http的请求头和响应头都可以设置cache-control属性,它的作用是用来设置静态资源缓存的。难道他们就没有什么不一样的地方么?反正一开始我是不明白,在网上也硬是没找到答案,于是这篇文章就出来了。。。

以下是本次验证的代码:

客户端代码

服务端代码

客户端为了验证请求头cache-control的作用,所以采用了ajax的方式来请求js。服务端主要是用来设置静态资源的缓存时间的。我们所说的缓存都是建立在get请求方式之上,其他方式设置的缓存暂时没听说过哈

下面就是见证奇迹的时刻:

场景一:当客户端、服务端都不设置cache-control的时候看看是什么情况

服务端打印请求头信息
浏览器资源请求信息

发现默认情况下是不会走缓存的

场景二:当服务端设置cache-control,客户端没有设置的时候看看是什么情况

服务端代码.png
服务端打印请求头信息
浏览器资源请求信息

发现缓存是由服务端开启的

场景三:当客户端设置cache-control,服务器端没有设置的时候看看是什么情况

客户端代码
服务端代码
服务端打印请求头信息
浏览器资源请求信息

发现当只有客户端开启cache-control时是不会生效的,缓存必须是由服务端开启

场景四:当客户端和服务端都设置了cache-control的时候看看是什么情况

客户端代码
服务端代码
服务端打印请求头信息
浏览器资源请求信息

发现30秒后缓存就失效了,而不是客户端设置的60秒,故缓存的失效时间是由服务端设置决定的

场景五:当客户端设置不需要缓存,而服务端设置了缓存的时候看看什么情况

客户端代码
服务端代码
浏览器资源请求信息
浏览器资源请求信息

发现资源不再走强缓存了,而是直接向服务器发送了请求,故请求头中设置的cache-control是可以不走缓存的,cache-control: max-age=0这和按F5键是一样的效果

结论:

1、只有服务端才能开启缓存,默认是不会走缓存的

2、走了强缓存就不会再向服务端发送请求了

3、客户端的请求头中只有设置了cache-control为:'no-store' | 'no-cache' | 'max-age=0'才会生效(也就是客户端不想走强缓存的时候生效),除非后端对这个字段做特殊处理

如果有对强缓存和协商缓存不太清楚的同学可以了解一下之前写过的一遍文章一文读懂http缓存(超详细)

查看原文

赞 2 收藏 2 评论 0

前端搬砖师 回答了问题 · 1月14日

http缓存响应头和请求头cache-control字段有相同值,这些相同值在响应头和请求头各代表什么含义?

具体可参考这里:https://mp.weixin.qq.com/s?__...

关注 2 回答 2

前端搬砖师 关注了专栏 · 2020-12-23

SegmentFault 之声

在这里,我们将为你推送 SegmentFault 思否公司官方合作信息,和合作伙伴最新动态。SegmentFault 思否是中国领先的开发者社区和技术媒体,中国最大的 Hackathon 组织者。我们致力于成为科技企业和开发者沟通的桥梁,帮助科技企业和开发者对话。

关注 19043

前端搬砖师 关注了专栏 · 2020-12-23

springboot 最佳实践

SpringBoot技术的势、道、术分析与实践。

关注 10090

前端搬砖师 关注了专栏 · 2020-12-23

SegmentFault 行业快讯

第一时间为开发者提供行业相关的实时热点资讯

关注 55994

前端搬砖师 关注了专栏 · 2020-12-23

民工哥技术之路

公众号:民工哥技术之路、《Linux系统运维指南 从入门到企业实战》作者。专注系统架构、高可用、高性能、高并发,数据库、大数据、数据分析、Python技术、集群中间件、后端等开源技术分享。

关注 26510

前端搬砖师 关注了专栏 · 2020-12-23

concent

concent,一个内置依赖收集系统,并兼具0入侵、可预测、渐进式、高性能特点的react状态管理方案。

关注 9302

前端搬砖师 关注了专栏 · 2020-12-23

阿里云栖号

汇集阿里技术精粹-yq.aliyun.com

关注 14987

前端搬砖师 关注了专栏 · 2020-12-23

终身学习者

我要先坚持分享20年,大家来一起见证吧。

关注 49096

前端搬砖师 关注了专栏 · 2020-12-23

疯狂的技术宅

本专栏文章首发于公众号:前端先锋 。

关注 27201

认证与成就

  • 获得 3 次点赞
  • 获得 3 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 3 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2020-10-17
个人主页被 351 人浏览