随笔分类 -  浏览器相关

摘要:1.个人的电脑是如何发送和接收到数据的 当我们的电脑接入互联网时,会被分配一个IP地址,现在B站的服务器也接入了互联网,它也会被分配一个IP地址(访问某个网站就是在访问那个网站的服务器)。此时如果我访问b站的首页,我就是客户端,bilibili服务器就是服务端。大致结构如下: 这种形式就是客户端服务 阅读全文
posted @ 2021-03-04 10:51 俄罗斯方块 阅读(367) 评论(0) 推荐(0) 编辑
摘要:TCP是面向链接的,双方需要链接上才能进行数据传输,需要先保证通信的客户端和服务端都有发送数据和接受数据的能力 当客户端第一次发送SYN报文时,可以确认客户端是有发送数据能力的,但是这时不能确认客户端是否有接收数据的能力,以及服务端是否有接收数据和发送数据的能力(第一次握手) 当服务端接收到SYN报 阅读全文
posted @ 2021-03-04 10:43 俄罗斯方块 阅读(56) 评论(0) 推荐(0) 编辑
摘要:1.栈 先进后出 1.调用栈: 是JS引擎追踪函数执行流程的一种机制,当执行环境中调用了多个函数时,通过这种机制,我们能追踪到哪个函数正在执行,执行的函数体又调用了哪个函数 函数的声明是不会进入栈中的,调用栈就是被调用的函数才会入栈 如一个函数: 当执行到第十行,average函数才会被调用,此时a 阅读全文
posted @ 2020-12-24 10:50 俄罗斯方块 阅读(298) 评论(0) 推荐(0) 编辑
摘要:1.用处 chrome浏览器的引擎 Nodejs的运行时环境 electron的底层引擎 2.什么是V8引擎 是用C++编写的Google开源高性能JS和WebAssembly引擎 简而言之:是一个接收JS代码,编译代码然后执行的C++程序,编译后的代码可以在多种操作系统,多种处理器上运行 主要的工 阅读全文
posted @ 2020-12-23 18:10 俄罗斯方块 阅读(1217) 评论(0) 推荐(0) 编辑
摘要:相同大小的JS代码和一个图片文件的加载,JS文件是比图片的加载要慢很多的。因为JS代码有一个编译和解析的过程。图片的解码与绘制是很快的。 js的加载过程可能会造成阻塞,此时即使用户看到了页面,但是却无法进行交互。 1.如何从代码层面上进行优化: 外部第三方的JS文件: Code splitting 阅读全文
posted @ 2020-11-17 14:08 俄罗斯方块 阅读(568) 评论(0) 推荐(0) 编辑
摘要:0.为什么要理解浏览器的工作原理 为了写出更好的代码和提供更好的用户体验 简化的浏览器结构图: 用户界面 用于展示除标签页窗口之外的其他用户界面的内容 浏览器引擎 用于再用户界面和渲染引擎之间传递数据 渲染引擎(重点,常称为浏览器的内核) 负责渲染用户请求的页面内容 下面还有很多小的功能模块 内核使 阅读全文
posted @ 2020-11-17 11:31 俄罗斯方块 阅读(246) 评论(0) 推荐(0) 编辑
摘要:1.network下的单个瀑布流(单个资源加载) 通过控制台下的瀑布流可以大致看到单个网络资源的加载时机以及加载时长。一个网络资源的请求不是一个单一的下载的过程。中间还经过了很多的过程。鼠标悬浮在单个瀑布条上可以查看详细的信息 对于用户来说最为直观的影响因素是TTFB(请求发出去到请求回来),这里如 阅读全文
posted @ 2020-11-16 18:11 俄罗斯方块 阅读(418) 评论(0) 推荐(0) 编辑
摘要:用户界面:包括地址栏,前进/后退/刷新等按钮、页面主窗口等。 浏览器引擎:负责将用户的操作传递给对应的渲染引擎。 渲染引擎:能够调用解释器解释HTML、css、JavaScript代码,然后根据解释结果重排页面并绘制DOM树。 HTML解释器:解释HTML代码。 css解释器:解释css代码。 Ja 阅读全文
posted @ 2020-03-17 22:40 俄罗斯方块 阅读(695) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示