一张动图告诉你,浏览器输入网址回车后发生了什么

一张动图告诉你,浏览器输入网址回车后发生了什么

让我们一步一步地来看这个过程。

步骤1:

用户在浏览器中输入一个URL(比如www.bytebytego.com),然后按下回车键。首先,我们需要将这个URL转换成一个IP地址。通常,这个映射关系会被存储在缓存中,因此浏览器会在多个缓存层中查找IP地址:浏览器缓存、操作系统缓存、本地缓存和ISP(互联网服务提供商)缓存。如果浏览器在缓存中找不到这个映射关系,它会请求DNS(域名系统)解析器来解析这个URL。

步骤2:

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

步骤3:

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

步骤4:

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

这个过程涉及许多复杂的技术,但它让你能够在浏览器中轻松访问网页。无论你是在搜索信息、观看视频还是购物,这个过程都在背后默默运行,使互联网成为可能。

来源:一张动图告诉你,输入网址之后,发生了什么事情?


你以为就结束了吗?那就肤浅了,当然实际使用情况会复杂很多,可能还包括cdn等,可以参考以下文章,深入了解细节链路继续撸:

  1. https://blog.bytebytego.com/p/ep-51-how-does-dns-work

  2. https://blog.bytebytego.com/p/how-does-the-domain-name-system-dns

  3. https://blog.bytebytego.com/p/a-crash-course-in-dns-domain-name

  4. https://blog.bytebytego.com/p/how-does-cdn-work

  5. https://blog.bytebytego.com/p/everything-you-always-wanted-to-know

  6. https://blog.bytebytego.com/p/http-10-http-11-http-20-http-30-quic

  7. https://blog.bytebytego.com/p/network-protocols-run-the-internet

  8. https://blog.bytebytego.com/p/ep80-explaining-8-popular-network#%C2%A7explaining-popular-network-protocols-in-diagram

  9. https://blog.bytebytego.com/p/how-do-modern-browsers-work

  10. https://blog.bytebytego.com/p/what-happens-when-you-type-a-url

  11. https://blog.bytebytego.com/p/twitter-architecture-2022-vs-2012

  12. https://wsgzao.github.io/post/url/

  13. https://github.com/skyline75489/what-happens-when-zh_CN


anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/5816.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注