《http权威指南》阅读笔记(五)
web缓存作用:减少网络的数据传输,增快响应时间,减轻服务器压力
web缓存:客户端缓存 和 共享式缓存
客户端缓存一般通过浏览器来实现
共享式缓存一般通过缓存服务器来实现
控制缓存的http header信息
http1.1
Cache-Control:no-stroe|no-cache|maxage
对于http响应报文
no-stroe:告诉缓存服务器不要缓存内容
no-cache: 告诉缓存服务器对于缓存的内容都需要座有效检测
maxage:设置一个相对过期时间,单位秒 例如maxage=3600 一小时之后过期
对于http请求报文
no-store:强制缓存服务器请求web服务器返回内容,并且删除缓存
no-cache: 告诉缓存服务器,对缓存的内容做有效检测,并返回最新的内容
maxage: 貌似没有定义
响应报文头部:Last-Modified: 最后修改时间
请求报文头部:If-Modified-Since:时间,是否在给定的时间后有过修改 返回http/1.1 304 Not Modified,表示没有修改,否则返回实体信息
http1.0+
响应头部:Expires:绝对过期时间,考虑到客户端机器时间影响,不一定会有效果
Pragma 和 Cache-Control 代表含义一样,只不过这个是http1.0+里面定义的,优先使用http1.1协议
缓存的有效期判断:
1 根据最后修改时间判断
2 根据Etag判断,Etab也是http报文头部信息,可以把他当做版本号
浏览器强制刷新 和 F5刷新的区别
强制刷新:请求头部添加 Cache-Control: no-cache ,告诉浏览器不要使用本地缓存
F5刷新:浏览器重新请求,如果有缓存并且没有过期,就使用缓存内容
Html里面控制缓存的方式
<head><HTTP-EQUIV meta=”Cache-Control: no-cache” /></head>
通过HTTP-EQUIV标签实现,部分web服务器会解析,但是会增加web服务器的压力,毕竟首先要解析html文件,不赞成使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架