当我们在浏览器中输入一个 URL 后发生了什么?

第 1 步

用户在浏览器中输入 URL (www.bytebytego.com) 并回车。我们首先要做的是将 URL 转换为 IP 地址。这个从 URL 到 IP 地址的映射通常存储在缓存中,因此浏览器会在多层缓存中查找 IP 地址:浏览器缓存、操作系统缓存、本地缓存和 ISP 缓存。如果浏览器在缓存中找不到映射,就会请求 DNS(Domain Name System)解析器进行解析。

第 2 步

如果在任何缓存中都找不到 IP 地址,浏览器就会转到 DNS 服务器进行递归 DNS 查找,直到找到 IP 地址为止。

第 3 步

有了服务器的 IP 地址,浏览器就会向服务器发送 HTTP 请求。为了安全访问服务器资源,我们应始终使用 HTTPS。浏览器首先通过 TCP 三次握手与服务器建立 TCP 连接。然后向客户端发送公钥(Public Key)。客户端使用公钥加密会话密钥(Session Key)并发送给服务器。服务器使用私钥(Private Key)解密会话密钥。然后,客户端和服务器就可以使用会话密钥来交换加密数据。

第 4 步

服务器处理请求并发回响应。响应成功时,状态代码为 200。响应包含 3 个部分:HTML、CSS 和 Javascript。浏览器会解析 HTML 并生成 DOM 树。浏览器还会解析 CSS 并生成 CSSOM 树。然后,浏览器将 DOM 树和 CSSOM 树合并为渲染树。浏览器渲染内容并显示给用户。


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

推荐阅读更多精彩内容