🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
- https://zhuanlan.zhihu.com/p/161560683 - 域名解析: 域名解析为对应的 IP 地址的过程 (本地域名缓存->本地dns服务器->根服务器->根域名服务器) 1. 浏览器会在本地缓存中查找是否有该域名的 DNS 记录。如果有,就直接使用缓存中的 IP 地址;如果没有,就继续查询 DNS 服务器。 2. 浏览器会向本地 DNS 服务器发送 DNS 查询请求。本地 DNS 服务器通常由用户的网络服务提供商提供,也可以是公共 DNS 服务器,如 Google DNS 或 OpenDNS。 3. 如果本地 DNS 服务器中有该域名的 DNS 记录,就直接返回 IP 地址;否则,将查询请求转发到根域名服务器(root DNS)。 4. 根域名服务器会将查询请求转发到顶级域名服务器(TLD DNS),例如 .com 域名的 TLD DNS。 5. TLD DNS 会将查询请求转发到负责管理该域名的权威 DNS 服务器。 6. 权威 DNS 服务器会返回 IP 地址给浏览器。 7. 浏览器将 IP 地址缓存起来,并使用该 IP 地址与服务器建立连接,获取网页内容 1. 域名解析:浏览器首先将用户输入的域名解析为对应的IP地址。 2. TCP三次握手:浏览器与服务器之间建立TCP连接的过程,包括客户端发送SYN,服务器回应SYN+ACK,客户端发送ACK的三次握手。 3. 服务器响应HTTP请求:一旦建立TCP连接,服务器响应浏览器发送的HTTP请求,返回相应的HTTP响应。 4. 浏览器解析HTML代码:浏览器接收到HTTP响应后,解析HTML代码、构建DOM树、解析CSS和JavaScript代码,然后渲染页面。 5. TCP四次挥手:在合适的时候,浏览器和服务器之间执行四次挥手来终止TCP连接,包括终止方发送FIN,另一方确认FIN,另一方发送FIN,终止方确认FIN