(1) URL 解析与检查
-
输入处理:
-
浏览器会判断你输入的内容是一个URL还是一个搜索关键词。
-
如果输入不符合 URL 规则(例如包含空格或非法字符),浏览器会使用其默认的搜索引擎进行搜索。
-
如果是一个合法的 URL(如
https://www.example.com),浏览器会为其加上协议前缀(如https://)。
-
-
检查缓存:
-
在发起网络请求之前,浏览器会先检查本地缓存(如 DNS 缓存、资源缓存),看看是否已经存有该页面的一个可用副本。
-
(2) DNS 域名解析
URL 中的域名(如 www.example.com)对人类是友好的,但网络通信需要通过 IP 地址来定位服务器。
-
浏览器缓存:浏览器首先检查自身缓存中是否有该域名对应的 IP 地址。
-
系统缓存:如果浏览器缓存没有,则检查操作系统的 hosts 文件和 DNS 缓存。
-
路由器缓存:查询路由器中的缓存。
-
ISP DNS 缓存:将查询请求发送到互联网服务提供商(ISP)的 DNS 服务器,它通常有大量的缓存。
-
递归查询:如果以上缓存都没有,ISP 的 DNS 服务器会开始一个递归查询:
-
从根域名服务器(
.)开始。 -
找到 顶级域名服务器(如
.com)。 -
找到权威域名服务器(如
example.com),最终获得www.example.com对应的 IP 地址。
-
一旦获得 IP 地址,它会被缓存起来供后续使用。
(3) 建立 TCP 连接(三次握手)
获取到 IP 地址后,浏览器需要与服务器建立可靠的连接。这是通过 TCP 三次握手完成的。
-
SYN: 浏览器向服务器发送一


2495

被折叠的 条评论
为什么被折叠?



