CodingWithAlice

我的一方小天地,如果对你有帮助,那真的太好了

04 TCP/IP 网络分层模型(四层和七层)

04 TCP/IP 网络分层模型(四层和七层) 参考文章:七层/四层模型详解 TCP/IP 协议 - 是 HTTP 协议的下层协议,负责具体的 数据传输 工作 总结:多种划分方式下的模型及其对应关系 总结 1、TCP/IP 分为四层,核心是二层的 IP 和三层的 TCP,HTTP 在第四层 2、OSI 分为七层,基本对应 TCP/IP...

03 HTTP相关的概念 -- 应用 + 协议

03 HTTP相关的概念 – 应用 + 协议 下图是和HTTP相关的各个知识点,左侧是各个协议,右侧是相关应用 各种应用 先看右边部分,都是与 HTTP 相关的各种应用,接下来着重介绍互联网、浏览器、Web 服务器等常见且重要的概念 总结: 1、互联网上绝大部分资源都使用 HTTP 协议传输 2、浏览器是 HTTP 协议里的请求方,即 Us...

02 什么是HTTP

02 什么是HTTP HTTP 学名:超文本传输协议,从这三个关键词拆解含义 总结 HTTP 是一个在计算机世界里 专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范 协议 协议的特点: 1、协议必须要有两个或多个参与者 2、协议是对参与者的一种行为约定和规范 总结: HTTP 是一个用在计算机世界里的...

01 HTTP发展史

01 HTTP发展史 写得比较细的一篇博客:HTTP的前世今生 总结 1、HTTP 协议始于三十年前蒂姆·伯纳斯 - 李的一篇论文 2、HTTP/0.9 是个简单的文本协议,只能获取文本资源 3、HTTP/1.0 确立了大部分现在使用的技术,但它不是正式标准 4、HTTP/1.1 是目前互联网上使用最广泛的协议,功能也非常完善 5、HTTP/2 基于 Google 的 ...

24 虚拟DOM

24 虚拟DOM DOM的缺陷 1、JS 操纵 DOM 是会影响到整个渲染流水线 2、重排/重绘 在复杂页面非常耗时(主线程) 3、对 DOM 的不当操作引起 强制同步布局和布局抖动 的问题,大大降低了渲染效率 虚拟DOM解决的问题 1、页面的改变直接应用到虚拟DOM上,而不是DOM 2、有变化后,虚拟DOM并不直接渲染页面,而是仅调整虚拟DOM的内部状态 3、虚拟DOM收集到足...

23 如何加快页面显示和相应

23 如何加快页面显示和相应 页面优化 – 就是让页面更快得显示和响应 由于页面在不同阶段的关注点不同,可以划分为几个阶段 加载 阶段:从发出请求到渲染出完整页面的过程,影响因素主要是 网络和 JS 脚本 交互 阶段:从页面加载完成到用户交互的过程,影响因素主要是 JS 脚本 关闭 阶段:用户发出关闭指令后页面所做的 清理操作 加载阶段 加载阶段的渲染流水线如下图: ...

19 async await使用同步方式写异步代码

19 async await使用同步方式写异步代码 Promise 的缺点:处理流程复杂时,代码充斥了.then方法,语义化不明显 async/await :底层转换成了 Promise 和 then 回调函数 —> 每次我们使用 await, 解释器都创建一个 promise 对象,然后把剩下的 async 函数中的操作放到 then 回调函数中。 JS 异步编程的重大改进 -...

实现给定时间切换状态(拼多多面试题)

18-2 实现给定时间切换状态(拼多多面试题) 实现 promiseSetTimeout(拼多多面试题) 题目:实现一个promisesetTimeout方法,该方法接收两个参数:第一个参数为promise,第二个参数为number类型 结果需满足: 1)若Promise在第二个参数给定的时间内处于pending状态,则返回一个rejected的Promise,其reason为new...

18 Promise及其简易实现

18 Promise及其简易实现 参考文章:这一次,彻底弄懂 Promise 原理 - 对 Promise 源码进行了解析 - 没看完 30分钟,让你彻底明白Promise原理 - 真的看不进去,有需要再看吧 JS的异步编程模型,典型的如下图: 异步回调 Web 页面的单线程架构决定了异步回调,而异步回调影响到了我们的编码方式。 –> 将异步回调函数封装是一个很好的思维,...

17 微任务和宏任务

17 微任务和宏任务 微任务:MutationObserver、Promise以及以Promise为基础的技术 宏任务:渲染事件(解析DOM、计算布局、绘制)、用户交互事件(鼠标点击、滚动页面、放大缩小等)、js脚本执行事件、网络请求完成、setTimeout()、setInterval 复习宏任务定义 主线程中,引入了消息队列(包括延迟执行队列和普通消息队列)和事件循环机制,主...