在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?
入门版
- 建立客户端与服务器的连接
- 建立连接后,客户端发送一个请求给服务器
- 服务器接受请求给予响应信息
- 客户端将返回的内容解析并呈现
- 断开连接
青春版
- 域名解析
- 发起 TCP 的三次握手
- 建立 TCP 连接后发起 HTTP 请求
- 服务器响应 HTTP 请求,浏览器得到 HTML 代码
- 浏览器解析 HTML 代码,并请求 HTML 代码中的资源(如 JS、CSS、图片等)
- 浏览器对页面进行渲染呈现给用户
详细版
参考知乎大佬回答
1. 在浏览器中输入指定网页的 URL
URL:(Uniform Resource Locators),即统一资源定位器。网络上的所有资源都靠 URL 来定位,每一个文件就对应着一个 URL,就像是路径地址。理论上,文件资源和 URL 一一对应。实际上也有例外,比如某些 URL 指向的文件已经被重定位到另一个位置,这样就有多个 URL 指向同一个文件。
- 检查缓存
2. 浏览器通过 DNS 协议,获取域名对应的 IP 地址
DNS:键入了 URL 之后,第一个重头戏登场——DNS 服务器解析。DNS(Domain Name System)域名系统,要解决的是 域名和 IP 地址的映射问题 。毕竟,域名只是一个网址便于记住的名字,而网址真正存在的地址其实是 IP 地址。
3. 浏览器根据 IP 地址和端口号,向目标服务器发起一个 TCP 连接请求
4. 浏览器在 TCP 连接上,向服务器发送一个 HTTP 请求报文,请求获取网页的内容
5. 服务器收到 HTTP 请求报文后,处理请求,并返回 HTTP 响应报文给浏览器
6. 浏览器收到 HTTP 响应报文后,解析响应体中的 HTML 代码,渲染网页的结构和样式,同时根据 HTML 中的其他资源的 URL(如图片、CSS、JS 等),再次发起 HTTP 请求,获取这些资源的内容,直到网页完全加载显示
7. 浏览器在不需要和服务器通信时,可以主动关闭 TCP 连接,或者等待服务器的关闭请求