摘要:
一、强缓存 1. Expires Expires 即过期时间,在 HTTP/1.0 时期使用。存在于服务器返回的响应头中,告诉浏览器在这个过期时间之前可以直接从缓存里获取数据。 Expires: Wed Jul 14 2021 08:00:00 GMT 表示资源在 2021 年 7 月 14 号 8 阅读全文
摘要:
当用户在地址栏输入一个查询关键字时,地址栏会判断输入的关键字是搜索内容还是请求的 URL。 如果是搜索内容,地址栏会使用浏览器默认的搜索引擎,来合成新的带搜索关键字的 URL。 如果输入的内容符合 URL 规则,那么地址栏会根据规则,把这段输入的内容加上协议,组成完成的 URL。 当用户按下回车后, 阅读全文
摘要:
RFC 标准把状态码分成了五类,用数字的第一位表示分类。从 100-599 1xx:提示信息,表示目前是协议处理的中间状态,还需后续的操作 2xx:成功,报文已经收到并被正确处理 3xx:重定向,资源位置发生变动,需要客户端重新发生请求 4xx:客户端错误,请求报文有误,服务器无法处理 5xx:服务 阅读全文
摘要:
HTTP 协议与 TCP/UDP 类似,需要在实际传输的数据前附加一些头数据。不过与 TCP/UDP 不同的是,HTTP 协议是一个**“纯文本”**协议,头部数据都是 ASCII 码的文本,可以直接阅读。 报文结构 HTTP 协议的请求报文和响应报文基本相同,由三大部分组成: 起始行(start 阅读全文
摘要:
DNS 是应用层协议,用于将域名转换成 IP 地址。 1. 解析过程 DNS 的核心系统是一个三层的树状、分布式服务,基本对应域名的结构。 根域名服务器:管理顶级域名服务器,返回 com、net、cn 等顶级域名服务器的 IP 地址; 顶级域名服务器:管理各自域名下的权威域名服务器。例如 com 顶 阅读全文
摘要:
vertical-align 支持的属性值及组成 inherit 线类baseline, top, middle, bottom 文本类text-top, text-bottom 上标下标类sub, super 数值百分比类20px, 2em, 20%, ... 我们先来看看数值百分比类,这个类其实 阅读全文
摘要:
首先我们要明确 line-height 的定义,line-height指的是两条文字基线之间的距离。 行内框盒子模型 所有内联元素的样式表现都与行内框盒子模型有关。所以这个概念是非常重要的。 如上面一段普普通通的代码,却包含了4种盒子: 1)“内容区域”(content area),是一种围绕文字看 阅读全文
摘要:
什么是生命周期函数呢? 生命周期函数指的是某一时刻组件会自动调用执行的函数,比如render函数,当props或state发生改变的时候,render函数就会自动被调用重新执行。 1)组件初始化(Initialization)阶段 对于react组件来说,它会经历一些过程,Initializatio 阅读全文
摘要:
新旧虚拟DOM应该如何比对呢? react底层使用Diff(difference)算法来进行比对。我们知道,调用了setState方法时,数据(state,props)发生改变,就会进行比对。 下面我们先来看看setState方法。 setState方法是异步的,这样能够很好地提升react性能。假 阅读全文
摘要:
我们知道,当组件的state和props发生变化的时候,render函数就会重新执行,组件就会被重新渲染,这样是性能非常低的。因此,react引入了虚拟DOM. 虚拟DOM是什么呢?虚拟DOM就是一个JS对象,用它来描述真实DOM。 当state发生变化时,render函数会重新执行渲染页面。如果我 阅读全文