当前位置: 首页 > news >正文

输入网址到网页显示,发生了什么?

从今天起,我准备在网上输出自己的八股了

浏览器解析URL:

根据URL解析 请求协议(http),请求的服务器(www.baidu.com),请求的文件路径(可以省略),解析完毕后生成HTTP请求信息

如果没有本身主机的IP地址,就先运行DHCP协议,从本地DHCP服务器获得一个IP地址

  • 详细:操作系统生成一个DHCP请求报文,将报文放入具有目的地端口67(DHCP服务器)和源端口68(DHCP客户)的UDP报文段。该报文段被放置在一个具有广播IP目的地地址(255.255.255.255)和源IP地址0.0.0.0的IP数据报
  • DHCP报文段封装成帧,该帧具有目的MAC地址FF:FF:FF:FF:FF:FF,广播到与交换机连接的所有设备
  • DHCP服务器生成包含一个可用的IP地址和DNS服务器IP和网关路由器IP的报文,再不断封装成帧,返回去

如果没有服务端IP地址,就先运行DNS协议,从DNS服务器获得服务端IP,传输层也是UDP

TCP封装:

拿到域名的IP地址后,就去传输层进行协议封装,比如说使用TCP进行分装,这里就涉及到数据拆分,TCP报文头生成等等

IP封装:

传输层封装完毕后交给网络层IP模块进行IP封装,生成IP报文,包括源IP地址,目标IP地址,传输层是采取了什么协议等信息

MAC封装:

IP生成完毕后还需要在IP头部添加MAC头部,添加发送方和接收方的MAC地址,接收方的MAC地址是通过ARP协议获取的,ARP存在缓存,这时候的接收方的MAC并不是www.baidu.com的MAC,而是子网网关的MAC,然后由子网网关再发送给他的网关,MAC是不断变化的

网卡:

MAC封装后就将这些二进制数据复制到网卡的缓存区,然后网卡将数字信号转为电信号,顺着网线发出去or无线电波

交换机:

电信号顺着网线被交换机接收,又把电信号转为数字信号,然后查询接收方MAC地址是否有记录过,如果能查到,就将数据包发往对应的端口,如果查不到,就发往除了源端口之外的全部端口

路由器:

网络包经过交换机后到达了路由器,路由器已经包含了交换机的功能,路由器接受到网络包后,跟交换机一样,检查接收方MAC地址看看是不是发给自己的包,不是的话就丢弃,是的话放入接受缓冲区

接收了包之后会将包的MAC头部去掉,然后根据包的IP内容进行包的转发,根据自己的路由表及目标IP进行转发。

经过路由器在互联网的层层转发,最终到达服务器

服务器拆包:

服务器层层拆包,先看目标MAC地址是否是自己的,不是的话则丢弃此包,再检验目标IP地址是否符合,根据IP中的协议项,知道这是个TCP协议的包,如果是双方的第一个包的话,就进行TCP三次握手,先建立连接,然后再进行数据通信。根据TCP报文头还知道这应该是哪个端口的应用需要的包,将这个包转交给占用该端口的进程,进程获取到该包,发现是个HTTP请求,就将请求的资源封装到HTTP响应报文中,和客户端一样,经过层层包装,将数据包发送给客户端

客户端渲染:

客户端收到响应报文后,浏览器将响应数据渲染,页面就展示出来了

相关文章:

  • 人工智能框架:连接理论与实践的桥梁
  • VAS1260IB05E 集成内部开关驱动器的汽车级LED硬灯带高效解决方案
  • Gentleman:优雅的Go语言HTTP客户端工具包
  • 【GESP】2024年12月图形化一级 -- 火箭回收
  • Anchor-Based 与 Anchor-Free
  • 通过VSCode直接连接使用 GPT的编程助手
  • python003-python电影数据分析及可视化系统建设(源码+数据库+部署讲解等)
  • iOS开发书籍推荐 - 《高性能 iOS应用开发》(附带链接)
  • 深度求索-DeepSeek-R1本地部署指南
  • UART(一)——UART基础
  • 遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)
  • 第3章 .NETCore核心基础组件:3.1 .NET Core依赖注入
  • 申论对策建议类【2022江苏B卷第一题“如何开展网络直播”】
  • OpenCV图像基本操作
  • 期权帮|股指期货的有效止盈止损策略?
  • Unsloth
  • 软件定义汽车时代的功能安全和信息安全
  • 【MySQL】第六弹---数据库表约束详解:从空属性到主键的全方位指南
  • EtherNet/IP转Modbus TCP:新能源风电监控与分析实用案例
  • uniapp webview嵌入外部h5网页后的消息通知
  • 网站链接太多怎么做网站地图/bt种子万能搜索神器
  • 太原网站建设优化/云搜索下载
  • 做响应式网站的菜单/朝阳seo排名
  • springmvc做网站/网站推广app软件
  • 环保网站设计/大连网络推广公司哪家好
  • 微信系统平台开发/郑州seo优化哪家好