- #99
- #98
浏览器输入 URL 搜索后发生了什么事?
浏览器输入 URL 搜索后发生了什么事?
- 一、DNS 解析阶段(获取目标服务器 IP)
- 检查是否有 DNS 缓存可使用
- 向网络供应商提供的 本地 DNS 服务器进行查询请求
- 二、TCP 连接建立(与目标服务器建立连接)
- 对目标 IP 地址发起 TCP 连接请求
- 进行 TCP 三次握手 (SYN, SYN-ACK, ACK)
- 三、TLS/SSL 加密连接(与目标服务器建立加密连接)
- 进行握手,交换加密密钥
- 验证凭证
- 四、请求与响应 (获取网页内容)
- 浏览器发送请求到服务器
- 服务器处理请求并回传资源
- 浏览器开始接收和解析资源
- 五、浏览器渲染页面 (渲染网页)
- 解析 HTML 建立 DOM Tree
- 解析 CSS 建立 CSSOM Tree
- 结合 DOM 和 CSSOM 建立 Render Tree
- 计算元素位置和大小 (Layout)
- 绘制页面内容 (Paint)
- 将页面分为多个图层 (Layering)
- 将图层转换为像素 (Rasterization)
- GPU 将多个图层进行合成 (Compositing)
视职位可以通过沟通逐渐锁定对方感兴趣的区块,像是面前端可能就会期待对于浏览器的运作机制了解更多。相信后端的朋友针对这个主题也有不同着重的点。
- 一、DNS 解析阶段(获取目标服务器 IP)
- #97
- #96
- #95
- #94
- #93
- #92
- #91
- #90
- #89
- #88
- #87
- #86
- #85
- #84
- #83
- #82
- #81
- #80
- #79
- #78
- #77
- #76
- #75
- #74
- #73
- #72
- #71
- #70
- #69
- #68
- #67
- #66
- #65
- #64
- #63
- #62
- #61
- #60
- #59
- #58
- #57
- #56
- #55
- #54
- #53
- #52
- #51
- #50
- #49
- #48
- #47
- #46
- #45
- #44
- #43
- #42
- #41
- #40
- #39
- #38
- #37
- #36
- #35
- #34
- #33
- #32
- #31
- #30
- #29
- #28
- #27
- #26
- #25
- #24
- #23
- #22
- #21
- #20
- #19
- #18
- #17
- #16
- #15
- #14
- #13
- #12
- #11
- #10
- #9
- #8
- #7
- #6
- #5
- #4
- #3
- #2
- #1