文章目录
- 前言
- 一. DNS域名解析
- 二. 进行封装
- 三. 进行传输
- 四. 到达服务器后层层分用
- 五. 服务器把响应数据重新封装
- 六. 响应数据进行传输
- 七. 到达客户端层层分用
- 八. 将网页渲染到浏览器上
前言
当你输入一个网址:www.baidu.com时,浏览器究竟做了哪些工作才可以得到以下这个页面呢?
下面给大家详细介绍:
一. DNS域名解析
网络上的设备都是通过IP地址作为身份标识的,但是IP地址不好记、也不好传播。所以就发明了“域名”来表示这个IP地址,方便人们记忆和使用。
DNS系统的功能就是把域名自动转化成IP地址。
二. 进行封装
浏览器根据IP地址构造出HTTP数据报,交给传输层TCP协议进行处理;
TCP通过“三次握手”建立连接,再加上TCP报头,交给网络层IP协议进行处理;
IP协议加上IP报头,交给数据链路层以太网协议进行处理;
以太网把数据报分装成对应的数据帧,最终通过网卡传输出去。
三. 进行传输
传输的过程会通过交换机和路由器经过一些局域网。
交换机会把数据分用到数据链路层(更上层的就不分用了),调整源mac地址和目的mac地址,再重新封装继续转发。
路由器会把数据分用到网络层(更上层的就不分用了),把目的IP解析出来,查询路由表。路由器根据数据报中的目的IP地址在路由表中匹配,选择合适的方向转发出去,每次转发TTL减1
四. 到达服务器后层层分用
服务器经过层层分用得到HTTP数据,根据这个数据找到你想要访问的那个资源(这就是根据请求计算相应的过程),再把资源构造成HTTP响应。
五. 服务器把响应数据重新封装
服务器根据IP地址构造出HTTP数据报,交给传输层TCP协议进行处理;
TCP协议再加上TCP报头,交给网络层IP协议进行处理;
IP协议加上IP报头,交给数据链路层以太网协议进行处理;
以太网把数据报分装成对应的数据帧,最终通过网卡传输出去。
传输出去后,TCP进行“四次挥手”断开连接。
六. 响应数据进行传输
传输的过程会通过交换机和路由器经过一些局域网。
交换机会把数据分用到数据链路层(更上层的就不分用了),调整源mac地址和目的mac地址,再重新封装继续转发。
路由器会把数据分用到网络层(更上层的就不分用了),把目的IP解析出来,查询路由表。路由器根据数据报中的目的IP地址在路由表中匹配,选择合适的方向转发出去,每次转发TTL减1
七. 到达客户端层层分用
客户端经过层层分用得到HTTP数据。
八. 将网页渲染到浏览器上
将HTTP数据中传递过来的HTML、CSS、JS和业务数据进行解析,最终渲染在浏览器页面上。