• 从浏览器输入一个URL到最终展示出页面,中间会发送哪些事儿?


    前言

    当你输入一个网址: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和业务数据进行解析,最终渲染在浏览器页面上。

  • 相关阅读:
    java通过IO流下载保存文件
    数据集成平台关于【源平台调度&任务生命周期】
    k8s暴露集群内和集群外服务的方法
    【读书笔记】《我们》
    C++学习笔记(十)
    lvs集群(一)
    leetcode 764. 最大加号标志
    CentOS7.6+openGauss2.1.0【纯安装操作步骤】
    聚观早报 | 飞书签约韵达速递;蔚来首颗自研芯片“杨戬”量产
    毫米波技术基础
  • 原文地址:https://blog.csdn.net/weixin_62976968/article/details/134221306