IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 浏览器的缓存机制 -> 正文阅读

[系统运维]浏览器的缓存机制

浏览器的缓存机制

1是什么?

把已经请求过一次的web资源(比如html页面,图片,js,data),拷贝一份到浏览器缓存中。key=资源标识,value:数据。当下一次请求同样的资源一样,如果缓存数据没过期,会重缓存数据里面获取

2:为什么?

减少网络IO,减少宽带,降低服务器压力,响应更快,用户体验更好

3.缓存的规则

(1)新鲜度 优先级高于校验值

在两种情况下会取缓存数据:

1.1)含有完整过期时间控制head信息,并且没有过期

1.2)浏览器已经使用过该缓存副本,并且在一个会话中检查过新鲜度

(2)校验值

资源有一个标签值hash5)。客户端访问服务器资源带上这个标签,如果服务器判断资源未更新,会返回304,告诉client缓存数据可用,并不会返回数据。特别是一些静态文件。如果过期则返回200和数据

4浏览器缓存控制流程

规则

消息包头

值/示例

类型

作用

新鲜度

expires

?Mon, 15 Aug 2016 03:56:47 GMT

响应

Http1.0会使用,资源超时时间,有一个问题,客户端时间和服务器时间的一致性

Cache-control

no-cache

响应

忽略缓存副本,实时获取资源,但不是不缓存

no-store

响应

强制浏览器不缓存副本

Max-age=[second]

响应

缓存副本的有效时间,资源在多少second之后超时

public

响应

任何路径的缓存者(本地缓存、代理服务器),可以无条件的缓存改资源
?

private

响应

只针对单个用户或者实体缓存资源

Last-modify

Mon, 15 Aug 2016 03:56:47 GMT?
?

响应

返回资源的时候返回该资源的1最近更新时间,隐患:最多具体到s

If-modify-since

Mon, 15 Aug 2016 03:56:47 GMT?

请求

如果该资源已经过期,客户端请求带上该字段,server可以判断该资源是否最新的,如果是,返回304,更新资源的过期时间等,

告诉客户端缓存资源依然可用

校验值

ETag

"fd56273325a2114818df4f29a628226d"?
?

响应

根据资源内容或着其他方式生成的一个标识资源的符号

If-None-Match

"fd56273325a2114818df4f29a628226d"?
?

请求

当资源过期,带上该标识,原理如同modify_time

5.浏览器HTTP请求流程

6.用户行为与缓存

浏览器缓存行为还有用户的行为有关,具体情况如下:

用户行为

expires/cache-control

Etag/last-modify

地址栏回车

有效

有效

页面链接跳转

有效

有效

新开窗口

有效

有效

前进后退

有效

有效

F5

无效

有效

Crtl+F5

无效

无效



?


?

7.不能缓存的请求

1.http head告诉浏览器不用缓存

比如Cache-Control:no-cache,,或Cache-Control:max-age=0等告诉浏览器不用缓存的请求

2.http 没有协商缓存

比如head不存在cache-control,etag,last-modify等

2.https安全加密的无法缓存

3.Post请求无法缓存

4.head

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:53:58  更:2022-03-03 16:54:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:16:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码