网络与安全|浏览器不为人知的秘密,你了解多少!浅显易懂,放心食用!
当今时代,浏览器是我们上网的一个重要窗口,那么,对于它是如何工作的你有多少了解,在地址栏输入一个地址,或者在百度搜索栏输入一个关键字,最终到我们想要看到的页面,究竟发生了什么。不需要太多专业知识,跟着我走,就够了!
文章图片
浏览器的秘密
- 1.浏览器的架构
- 2.浏览器的视角
- 3.浏览器页面如何渲染
- 4. 浏览器与用户如何进行交互
1.浏览器的架构
1.最简单的浏览器有什么
文章图片
最基础的设计需要有一个导航栏,输入框、标签页,没有这些,用户无法操作,难道干看着吗!
【网络与安全|浏览器不为人知的秘密,你了解多少!浅显易懂,放心食用!】浏览器的架构分为两类:单进程和多进程。所谓的多进程就是把原先一个进程里需要执行的功能拆开来执行,一个进程搞一项功能,进程之间通过通信来看一下相互之间的一个执行情况。
- 浏览器架构的分类
文章图片
说一下各个进程的功能:
- UI进程:负责地址栏、标签页的控制等
- 渲染进程:负责标签内网站页面的展示
- 插件进程:负责站点插件的控制,比如CSDN插件
- GPU进程:负责单独处理不同应用发的地址请求
- ……
在我们用户的视角下,我们在地址栏输入了一个URL地址,浏览器会如何处理呢!
- 处理输入:判断输入的是一个外部网站的站点地址,还是本地的磁盘文件地址,亦或者是浏览器自带的设置页,比如输入:chrome://settings ,回车之后进入的是谷歌浏览器的浏览器设置页面
- 导航开始:当按下回车键的那一刹那间,UI进程调用网络进程去获取你要访问的网站的信息
- 接收响应:获取到原始的响应内容,不是给我们用户看的东西,比如这样:
文章图片
- 进行渲染:网络进程通知UI进程数据已经好了之后,UI进程调用渲染进程来渲染页面
- 最终呈现:渲染完成之后,最终提交导航,最终将看到网站站点设计者设计的网站页面!
文章图片
浏览器的渲染过程比较复杂,你只需要了解渲染进程包括了:主线程、工作线程、合成线程和光栅线程。至于更深入的知识,如果感兴趣,可以查阅资料去深入了解!4. 浏览器与用户如何进行交互
在浏览器的视角下,用户的所有操作或者说行为,比如:滑动鼠标滑轮,点击一个按钮……,但是浏览器进程只知道事件和坐标!
- 事件:用户做了啥,浏览器会解析用户的行为,监听你干了啥事。
- 坐标:在浏览器上操作,建立一个xy轴,每一个事件都会有对应的(x,y)坐标。
如果觉得有所收获,可以给予我一个大大的点赞收藏和关注,你的肯定就是最大的价值。下期见,byebye!
文章图片
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- parallels|parallels desktop 解决网络初始化失败问题
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 第326天
- Shell-Bash变量与运算符
- 猎杀IP
- 逻辑回归的理解与python示例
- Guava|Guava RateLimiter与限流算法
- 我和你之前距离