从输入url到页面渲染全过程

从输入 URL 到页面渲染的全过程可以分为以下几个步骤:

  1. DNS 解析 当用户输入一个 URL 后,浏览器首先会进行 DNS 解析,将域名解析为 IP 地址。首先在本地 DNS缓存中查找是否已经有相应的 DNS 记录,如果没有,则向本地 DNS 服务器发起请求,如果本地 DNS 服务器也没有相应的 DNS记录,则向根 DNS 服务器发起请求,以此类推,直到找到对应的 IP 地址或者找不到。

  2. TCP 连接 在 DNS 解析完成后,浏览器会通过 HTTP 协议向服务器发起一个 TCP 连接请求,建立 TCP 连接。TCP的三次握手过程:

    第一次握手:客户端发送 SYN 包,表示自己的初始序号,要求建立连接; 第二次握手:服务器发送 SYN+ACK 包,表示确认连接请求;
    第三次握手:客户端发送 ACK 包,表示连接建立成功。

  3. 发送 HTTP 请求 在建立 TCP 连接后,浏览器会向服务器发送一个 HTTP 请求,请求包括以下信息:

    请求方法:GET、POST、PUT、DELETE 等; 请求地址:包括主机名和端口号; 请求头:包括
    Accept、Cookie、User-Agent 等信息; 请求体:POST 和 PUT 方法会有请求体。 服务器处理请求并返回响应

  4. 当服务器接收到 HTTP 请求后,会根据请求头中的信息进行处理,处理完毕后,将结果封装成 HTTP 响应发送回客户端。响应包括以下信息:

    响应状态码:200 表示成功,400 表示客户端错误,500 表示服务器错误等;
    响应头:包括Content-Type、Content-Length、Set-Cookie 等信息;
    响应体:HTML、CSS、JS 等文件。

  5. 浏览器解析渲染页面 浏览器收到响应后,会对 HTML 进行解析,构建 DOM 树,对 CSS 进行解析,构建 CSSOM 树,接着将DOM 树和 CSSOM树组合成渲染树,最后进行渲染,得到最终的页面。渲染的过程中,浏览器还需要进行页面布局和绘制,最终将页面呈现给用户。

以上就是从输入 URL 到页面渲染的全过程。

在网络传输中,数据会经过不同的层次进行处理和传输,通常可以抽象为以下五层:

物理层:主要负责数据的物理传输,包括电缆、光纤、网卡等硬件设备的传输。

数据链路层:主要负责数据的分帧、错误校验和流量控制等,以及实现不同设备之间的互通和通信。

网络层:主要负责数据的分组和路由选择等,以实现跨网络的数据传输和路由选择。

传输层:主要负责数据的分段和传输控制,包括 TCP 和 UDP 两种协议。

应用层:主要负责定义数据的格式和交互规则,常见的协议有 HTTP、FTP、SMTP、POP3 等。

在发送请求到接收响应的过程中,数据会从应用层经过下面的层次传输:

应用层:客户端向服务器端发送请求,请求数据被封装在应用层的协议中,通常是 HTTP 协议。

传输层:TCP 协议将应用层协议分成多个数据段,并为每个数据段添加序号和校验和等信息,以保证数据的可靠传输。

网络层:IP 协议根据路由表选择合适的路径,将 TCP 数据段封装成 IP 数据包,并添加源地址和目标地址等信息。

数据链路层:数据包被封装成数据帧,添加 MAC 地址等信息,以保证数据在局域网中的传输。

物理层:数据帧被传输到目标设备,经过解封装等操作,最终到达应用层,服务器端接收到请求数据。

服务器端处理请求后,会将响应数据按照类似的过程返回到客户端。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
浏览器从输入URL到显示页面的过程大致可以分为以下几个步骤: 1. DNS解析:浏览器首先会解析URL中的域名部分,将其转换为对应的IP地址。它会先检查浏览器缓存中是否存在该域名的解析结果,如果没有,就会向本地操作系统或者网络中的DNS服务器发送查询请求,获取对应的IP地址。 2. 建立TCP连接:一旦获取到目标服务器的IP地址,浏览器会通过TCP/IP协议与服务器建立连接。这个过程中,浏览器会与服务器进行三次握手,确保双方能够正常通信。 3. 发送HTTP请求:建立TCP连接后,浏览器会发送HTTP请求给服务器。请求中包含了请求行(包括请求方法、URL路径和HTTP协议版本)、请求头(包含一些附加信息,如User-Agent、Cookie等)以及请求体(一般用于POST请求,传递数据)。 4. 服务器处理请求:服务器接收到浏览器发送的HTTP请求后,会根据请求的内容进行处理。处理过程可能包括查询数据库、读取文件等一系列操作,最终生成需要返回给浏览器的数据。 5. 接收响应并渲染页面服务器处理完请求后,会将生成的响应数据封装成HTTP响应,并发送给浏览器。浏览器接收到响应后,会根据响应头中的信息判断响应的内容类型,然后对内容进行解析和渲染。对于HTML页面,浏览器会解析HTML结构、加载CSS和JavaScript文件,并根据这些文件渲染出最终的页面。 6. 关闭TCP连接:页面渲染完毕后,浏览器会关闭与服务器的TCP连接。如果页面中存在其他资源(如图片、样式表、脚本等),浏览器会继续发送相应的HTTP请求获取这些资源,并进行相应的渲染。 这就是浏览器从输入URL到显示页面的基本过程。其中涉及到的具体细节和技术可以更加深入和复杂,但以上步骤概括了整个过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值