从URL输入 到页面展现

第一个问题:从输入 URL 到浏览器接收的过程中发生了什么事情?

1.从触屏到 CPU

2.CPU 内部的处理

3.从 CPU 到操作系统内核

4.从操作系统 GUI 到浏览器

5.扩展学习

第二个问题:浏览器如何向网卡发送数据?

1.从浏览器到浏览器内核

2.HTTP 请求的发送

3.DNS 查询

4.通过 Socket 发送数据

5.Socket 在内核中的实现

6.底层网络协议的具体例子

7.扩展学习

第三个问题:数据如何从本机网卡发送到服务器?

1.从内核到网络适配器(Network Interface Card)

2.连接 Wi-Fi 路由

3.运营商网络内的路由

4.主干网间的传输

5.IDC 内网

6.服务器 CPU

7.扩展学习

第四个问题:服务器接收到数据后会进行哪些处理?

1.负载均衡

2.LVS

3.反向代理

4.Web Server 中的处理

5.进入后端语言

6.Web 框架(Framework)

7.读取数据

8.扩展学习

第五个问题:服务器返回数据后浏览器如何处理?

1.从 01 到字符

2.外链资源的加载

3.JavaScript 的执行

4.从字符到图片

5.跨平台 2D 绘制库

6.GPU 合成

7.扩展学习

第六个问题:浏览器如何将页面展现出来?

1.Framebuffer

2.从内存到 LCD

3.LCD 显示

4.扩展学习

本文所忽略的内容

为了编写方便,前面的介绍中将很多底层细节实现忽略了,比如:

内存相关

1.堆,这里的分配策略有很多,比如 malloc 的实现

2.栈,函数调用,已经有很多优秀的文章或书籍介绍了

3.内存映射,动态库加载等

4.队列几乎无处不在,但这些细节和原理没太大关系

各种缓存

CPU 的缓存、操作系统的缓存、HTTP 缓存、后端缓存等等

各种监控

很多日志会保存下来以便后续分析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容