从输入URL到页面展示到底发生了什么?

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

全网最细面试题手册,支持艾宾浩斯记忆法。这是一份最全面、最详细、最高质量的 java 面试题,不建议你死记硬背,只要每天复习一遍,有个大概印象就行了。 https://store.amazingmemo.com/chapterDetail/1685324709017001

从输入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页面展示的整个过程。

最后更新于