# HTTP 事务,实际描述的就是“在浏览器的地址栏中输入 URL 后发生了什么?”
一、域名解析
浏览器首先会对输入的内容进行基础处理:
判断输入类型:确认输入的是 IP 地址(而非域名,如
www.baidu.com),无需执行 DNS 域名解析(这是与输入域名的核心区别)。补全默认协议:若未指定协议(如
http://或https://),浏览器会默认添加http://(部分浏览器会先尝试https://,失败后降级为http://)。例:输入
203.0.113.10→ 浏览器自动处理为http://203.0.113.10。
域名解析,就是将页面的 URL 地址解析成对应的 IP 地址,找到真正要请求的服务器。
二、建立连接
HTTP基于 TCP 协议的三次握手,来建立浏览器与服务器之间的连接。
若用 HTTPS,额外加 “TLS 加密握手”,确保数据传输安全。
# 三次握手
- 一次握手:浏览器向服务器确认,服务器是否处于正常工作状态;
- 二次握手:服务器相应浏览器,告诉浏览器自己当前处于工作状态;
- 三次握手:浏览器告诉服务器,自己已知晓,准备发送请求了;
三、浏览器发送请求
浏览器发送请求到服务器,去请求对应页面的代码。
四、服务器处理请求
服务器接收到请求后,开始处理请求,最终将对应的页面代码返回给浏览器。
五、关闭连接
基于 TCP 协议的四次挥手,来关闭浏览器与服务器之间的连接。
四次挥手
- 一次挥手:浏览器告诉服务器自己的业务已经处理完成,想要断开连接;
- 二次挥手:服务器告诉浏览器,后端的业务还没处理完成,需要稍等一下;
- 三次挥手:服务器告诉浏览器,后端的业务已经处理完成,可以断开连接;
- 四次挥手:浏览器告诉服务器自己已知晓,准备断开连接了;
六、渲染页面
浏览器解析响应里的内容(如 HTML/CSS/JS),构建页面结构、计算样式,最终画在屏幕上。
上一篇: 下一篇:
本章目录