返回

从点击URL到页面展示,都经历了什么?

前端

当我们点击URL的那一刻,就已经开启了一场网络之旅。从服务器端获取到文件并展示在我们的浏览器中,到底经历了哪些复杂的步骤呢?我们一起来探寻一下:

  1. 浏览器中输入URL

    当我们点击URL的那一刻,浏览器就会开始启动一系列的流程。首先,它会检查浏览器缓存中是否已经存储了该URL对应的网页。如果有,就会直接从缓存中加载网页,整个过程非常快速。如果浏览器缓存中没有该URL对应的网页,就会开始发送HTTP请求到服务器。

  2. 发送至DNS服务器并获得域名对应的WEB服务器的IP地址

    浏览器会将URL中的域名部分解析为IP地址。这个过程通过DNS(域名系统)完成。DNS服务器就像一个地址簿,它存储了域名和IP地址之间的映射关系。浏览器首先会向本地DNS服务器发送DNS查询请求,本地DNS服务器会从缓存或上级DNS服务器中查找该域名对应的IP地址。如果本地DNS服务器找不到,就会向根DNS服务器发送请求,根DNS服务器会依次向下级DNS服务器查询,直到找到该域名对应的IP地址。

  3. 浏览器与服务器建立连接

    当浏览器获得了域名对应的IP地址后,就会与服务器建立连接。这个过程通常使用TCP协议。TCP是一种面向连接的协议,它会在客户端和服务器之间建立一个虚拟的通信信道。这个信道确保了数据可以可靠地从客户端传输到服务器,并从服务器传输到客户端。

  4. 发送HTTP请求

    当浏览器与服务器建立连接后,就会向服务器发送HTTP请求。HTTP请求是一个文本消息,它包含了请求的方法、请求的URL、请求的报头和请求的正文。请求的方法通常是GET或POST。GET方法用于获取服务器上的资源,POST方法用于向服务器发送数据。请求的URL是请求的资源的地址。请求的报头包含了一些附加信息,比如请求的语言、请求的类型等。请求的正文是请求的数据。

  5. 服务器处理HTTP请求

    当服务器收到HTTP请求后,就会开始处理请求。服务器会根据请求的方法和请求的URL来决定如何处理请求。如果请求的方法是GET,服务器就会从文件系统或数据库中获取请求的资源。如果请求的方法是POST,服务器就会处理请求的正文并做出相应的处理。

  6. 服务器发送HTTP响应

    当服务器处理完HTTP请求后,就会向浏览器发送HTTP响应。HTTP响应也是一个文本消息,它包含了响应的状态码、响应的报头和响应的正文。响应的状态码表示服务器处理请求的结果。最常见的响应状态码是200,表示请求已成功处理。响应的报头包含了一些附加信息,比如响应的类型、响应的语言等。响应的正文是服务器发送给浏览器的实际数据。

  7. 浏览器解析HTTP响应

    当浏览器收到HTTP响应后,就会开始解析响应。浏览器首先会解析响应的状态码,以确定请求是否成功处理。如果请求成功处理,浏览器就会继续解析响应的报头和响应的正文。浏览器会根据响应的类型来决定如何解析响应的正文。如果响应的类型是HTML,浏览器就会将响应的正文解析为HTML文档。

  8. 浏览器渲染HTML文档

    当浏览器解析完HTML文档后,就会开始渲染HTML文档。渲染过程包括构建DOM树、计算CSS样式表和布局文档。DOM树是HTML文档的结构表示。CSS样式表包含了HTML元素的样式信息。布局文档是HTML文档的可视表示。

  9. 页面展示

    当浏览器渲染完HTML文档后,就会将页面展示给用户。用户就可以看到网页上的内容了。

整个过程看似复杂,但实际上在几毫秒内就完成了。这归功于现代计算机和网络技术的高速发展。