大笨钟5718

V1

2023/02/22阅读:35主题:WeChat-Format

简单认识一个URL在浏览器请求经历的过程

简单认识一个URL在浏览器中请求经历的过程

在浏览器中输入 URL 之后,它会执行以下7个流程:

  • URL输入
  • DNS解析
  • 建立TCP连接
  • 发送HTTP请求
  • 服务器访问请求
  • 浏览器解析后渲染页面
  • HTTP请求结束,断开TCP连接

1.URL输入

我们在浏览器地址栏输入网址后回车,浏览器便会对你输入的网址进行判断:

  • 首先浏览器会检查你的URL连接是否合理
    • 如果合理,就会检查你的URL是否完整。如果完整就直接进行下一步,如果不完整则对你的URL进行辨析,对你的地址前缀或者后缀进行补全。
  • 如果不合理,就把用户输入的内容当作搜索对象,然后使用用户的默认搜索引擎来搜索。

如今主流的浏览器几乎都会从用户的浏览记录以及书签等方式中查找相对应的网址,并提供智能提示。

2.DNS解析

浏览器不能直接通过域名找到相对应的服务器IP地址,则需要进行DNS解析来找到相对应的IP地址进行访问。

整个过程如下图所示:

大致过程为:

  • 电脑会检查浏览器缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就结束。
    • 如果浏览器缓存中没有数据,浏览器会查找操作系统缓存中(也就是我们C盘中host文件)是否有这个域名对应的DNS解析结果。
    • 如果以上两个步骤无法解析时,就会请求本地DNS服务器。
    • 如果本地DNS服务器仍然无法解析时,就会到根DNS服务器请求解析。
  • 若还没有找到,则返回错误信息。

3.建立TCP连接

当浏览器获得IP地址后,浏览器就会用一个随机的端口向服务器80端口发送TCP连接请求。这个连接到达服务端后,通过TCP的三次握手后建立TCP的连接,最后就可以通过HTTP进行数据传输了。

  • 如果要使用HTTPS,会在TCP和HTTP之间多添加一层协议来作为加密及认证的服务。HTTPS使用SSL和TLS协议,保障了信息的安全。
    • SSL协议的作用;
      • 认证客户端和服务器
      • 加密数据防止数据被窃取
      • 维护数据的完整性,确保数据在传输过程中不被改变
    • TLS协议的作用:
      • 用于在两个通信应用程序之间提供保密性和数据完整性。
      • 该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。

4.发送HTTP请求

当浏览器到web服务器的连接建立后,浏览器会发送一个初始的HTTP GET请求,请求目标通常是一个HTML文件。服务器接收到请求后,将发回一个HTTP相应报文,内容包括相关响应头和HTML正文。

5.浏览器解析后渲染页面

  • 首先将html代码解析成dom树
  • 第二步css代码解析成cssom树
  • 第三步结合dom树和cssom树生成render树(渲染树)
  • 第四步布局,将渲染树所有dom节点进行平面合成()
  • 第五步绘制到屏幕上

对于这五个流程,每一阶段都有对应的产物,分别是:DOM树、CSSOM树、渲染树、盒模型、界面。

分类:

前端

标签:

计算机网络

作者介绍

大笨钟5718
V1