面试题 浏览器访问URL的背后真相

在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?

入门版

  • 建立客户端与服务器的连接
  • 建立连接后,客户端发送一个请求给服务器
  • 服务器接受请求给予响应信息
  • 客户端将返回的内容解析并呈现
  • 断开连接

青春版

  • 域名解析
  • 发起 TCP 的三次握手
  • 建立 TCP 连接后发起 HTTP 请求
  • 服务器响应 HTTP 请求,浏览器得到 HTML 代码
  • 浏览器解析 HTML 代码,并请求 HTML 代码中的资源(如 JS、CSS、图片等)
  • 浏览器对页面进行渲染呈现给用户

详细版

‍ 参考知乎大佬回答

1. 在浏览器中输入指定网页的 URL

URL:(Uniform Resource Locators),即统一资源定位器。网络上的所有资源都靠 URL 来定位,每一个文件就对应着一个 URL,就像是路径地址。理论上,文件资源和 URL 一一对应。实际上也有例外,比如某些 URL 指向的文件已经被重定位到另一个位置,这样就有多个 URL 指向同一个文件。

  • 检查缓存
    面试题 浏览器访问URL的背后真相_第1张图片

2. 浏览器通过 DNS 协议,获取域名对应的 IP 地址

DNS:键入了 URL 之后,第一个重头戏登场——DNS 服务器解析。DNS(Domain Name System)域名系统,要解决的是 域名和 IP 地址的映射问题 。毕竟,域名只是一个网址便于记住的名字,而网址真正存在的地址其实是 IP 地址。

3. 浏览器根据 IP 地址和端口号,向目标服务器发起一个 TCP 连接请求

4. 浏览器在 TCP 连接上,向服务器发送一个 HTTP 请求报文,请求获取网页的内容

面试题 浏览器访问URL的背后真相_第2张图片

5. 服务器收到 HTTP 请求报文后,处理请求,并返回 HTTP 响应报文给浏览器

面试题 浏览器访问URL的背后真相_第3张图片

6. 浏览器收到 HTTP 响应报文后,解析响应体中的 HTML 代码,渲染网页的结构和样式,同时根据 HTML 中的其他资源的 URL(如图片、CSS、JS 等),再次发起 HTTP 请求,获取这些资源的内容,直到网页完全加载显示

面试题 浏览器访问URL的背后真相_第4张图片

7. 浏览器在不需要和服务器通信时,可以主动关闭 TCP 连接,或者等待服务器的关闭请求

你可能感兴趣的:(#,面试,面试)