从输入 URL 到页面展示到底发生了什么?
从输入 URL 到页面展示到底发生了什么?
程序员朱永胜有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准
https://blog.zysicyj.top
从输入 URL 到页面展示,涉及到了整个 Web 请求 - 响应的过程,包括域名解析、建立连接、发送请求、服务器处理、接收响应、页面渲染等多个步骤。下面是从输入 URL 到页面展示的详细过程:
1. 域名解析
- 当用户在浏览器中输入 URL 时,浏览器首先会进行域名解析,将域名解析为对应的 IP 地址。这一过程涉及到 DNS(Domain Name System)服务器的查询,浏览器会先在本地缓存中查找对应的 IP 地址,如果没有找到,则会向本地 DNS 服务器发起查询,依次向上级 DNS 服务器查询,直到找到对应的 IP 地址。
2. 建立连接
- 一旦获取到目标服务器的 IP 地址,浏览器就会通过 TCP 协议与服务器建立连接。这个过程包括三次握手,即客户端向服务器发送 SYN 包,服务器回应 SYN+ACK 包,最后客户端发送 ACK 包,建立起 TCP 连接。
3. 发送请求
- 连接建立后,浏览器会向服务器发送 HTTP 请求,请求中包括了用户需要的资源信息,如 HTML、CSS、JavaScript、图片等。请求的方式可以是 GET、POST 等,根据请求的资源类型和服务器的响应方式不同,请求头中还可能包含一些其他信息,如 Cookie、User-Agent 等。
4. 服务器处理
- 服务器接收到浏览器发送的请求后,会根据请求的内容进行处理,包括读取文件、查询数据库、执行程序等。服务器端可能会进行一些逻辑处理,如动态生成页面、查询数据等。
5. 接收响应
- 服务器处理完请求后,会将处理结果封装成 HTTP 响应返回给浏览器。响应中包括了状态码、响应头和响应体,状态码表示请求的处理结果,响应头包含了一些元信息,如内容类型、内容长度等,响应体则是实际的数据内容。
6. 页面渲染
- 浏览器接收到服务器返回的响应后,会根据响应中的内容进行页面渲染。如果响应的内容是 HTML,浏览器会解析 HTML 文档,构建 DOM 树;解析 CSS,构建 CSSOM 树;执行 JavaScript,构建 DOM 树和 CSSOM 树后,将它们合并成渲染树,最终进行布局和绘制,将页面展示给用户。
7. 页面展示
- 最终,经过浏览器的渲染和布局,页面内容会以图形化的形式展示给用户,用户可以看到页面上的文本、图片、按钮等内容。
这个过程涉及到了多个环节和多种技术,包括域名解析、网络通信、服务器处理、浏览器渲染等,是 Web 页面展示的整个过程。