一个页面从输入 URL 到页面加载显示完成,这个过程分为 4 步:
- 当发送一个 URL 请求时,不管这个 URL 是 Web 页面的 URL 还是 Web 页面上的每个资源的 URL,浏览器都会开启一个线程来处理这个请求,同时在远程 DNS 服务器上启动一个 DNS 查询。这能使浏览器获得请求对应的 IP 地址。
- 浏览器与远程 Web 服务器通过 TCP 三次握手协商来建立一个TCP/IP 连接。该握手包括一个同步报文、一个同步-应答报文、一个应答报文,这三个报文在浏览器和服务器之间传递。该握手首先由浏览器尝试建立起通讯,然后服务器响应并接受浏览器的请求,最后由浏览器发出该请求已经被接受的报文。
- 一旦 TCP/IP 连接建立,浏览器会通过该连接向远程服务器发送 HTTP 的 GET 请求。远程服务器找到资源并使用 HTTP 响应返回该资源。
- Web 服务器提供资源服务,浏览器开始下载资源。