0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HTTP网络通讯过程

马哥Linux运维 来源:马哥Linux运维 2025-01-20 09:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. 网络模型概览

OSI(Open System Interconnection)先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的 OSI 模型。

OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。

29697206-d4b6-11ef-9310-92fbcf53809c.png

2. HTTP 网络通讯过程

示例:简单的网络拓扑模型

299f77ac-d4b6-11ef-9310-92fbcf53809c.png

29c05378-d4b6-11ef-9310-92fbcf53809c.png

详解:当键入网址到网页显示的通讯过程

客户端(发送方组包)

1)HTTP

浏览器解析 URL(协议、域名、资源路径)

生成HTTP 请求报文

2)DNS(真实地址查询)

向 DNS 服务器查询服务器域名对应的IP 地址

域名中越靠右的位置表示其层级越高

3)协议栈(指南帮手)

获取 IP 后,将之后的 HTTP 传输工作交给操作系统内核中的协议栈处理

TCP/UDP:负责收发数据

IP:负责将网络包送达给对方

4)TCP(可靠传输)

报文头部包含端口号、目标端口号、序号、确认号等

TCP传输数据之前,要先三次握手建立连接(三次握手的目的是保证双方都有发送和接收的能力

TCP 报文生成:TCP 头部 + HTTP 报文

5)IP(远程定位)

将数据封装称网络包发送给通信对象

IP 报文生成:IP 头部 + TCP 头部 + HTTP 报文

6)MAC(两点传输)

还需要加上 MAC 头部(发送方和接收方的 MAC 地址等信息),MAC 头部是以太网的头部

MAC 作用:MAC 地址用来唯一标识设备,再通过 ARP 协议找到下一站路由器的 MAC 地址,实现两点之间的传输

至此,网络包报文(MAC 头部 + IP 头部 + TCP 头部 + HTTP 报文)如下图所示

29ea0c18-d4b6-11ef-9310-92fbcf53809c.png

7)网卡(出口)

真正的数据发送过程:将数字信息(IP 网络包)转换为电信号,才能在网线上传输

控制网卡需要靠网卡驱动程序

网卡本身具有 MAC 地址,且会核对数据包的接收方 MAC 地址与自身 MAC 地址是否相同,不是则丢弃

8)交换机(送别)

交换机的设计:将网络包原样转发到目的地

交换机工作在 MAC 层,也称为二层(数据链路层)网络设备

交换机接收到达网线接口的电信号,并转换为数字信息

二层交换机本身具有一个 MAC 地址(标识自身硬件设备),但其各端口不具有 MAC 地址(三层交换机则每个端口都有 MAC 地址)

交换机根据交换机根据MAC 地址表查找 MAC 地址,然后将信号发送到相应的网线端口。交换机的 MAC 地址表包含两个信息:

设备的 MAC 地址

该设备连接在交换机的哪个端口上

2a39ebd4-d4b6-11ef-9310-92fbcf53809c.png

9)路由器(出境)

路由器基本原理:

与交换机类似,通过查表判断包的(下一个路由器或目标设备)转发目标

路由器基于 IP 设计,俗称三层(网络层)网络设备,其各端口具有 MAC 地址和 IP 地址(和计算机网卡一样);而交换机基于以太网设计,俗称二层(数据链路层)网络设备,其端口不具有 MAC 地址(也有三层交换机,具有部分的路由器功能)

MAC 头部的作用就是将包送达路由器,其中的接收方 MAC 地址就是路由器端口的 MAC 地址

包接收操作:将网线接口的电信号转成数字信号,并核对 MAC 地址

完成包接收操作之后,路由器就会去掉包开头的 MAC 头部

接下来会根据 MAC 头部后方的 IP 头部中的内容进行包的转发操作

包发送操作:将网络包的数字信号转成电信号并通过端口发送出去,经过层层转发之后,到达最终目标设备

首先是查询路由表判断转发目标

过 ARP 协议根据对方的 IP 地址查询 MAC 地址,并将查询结果作为接收方 MAC 地址

2a69d254-d4b6-11ef-9310-92fbcf53809c.png

以太网(传输)

在网络包(跨网段)传输过程中,源 IP 和目标 IP 始终是不会变的,一直变化的是 MAC 地址,因为需要 MAC 地址在以太网内进行两个设备之间的包传输。

(对于同网段的二层转发,MAC 地址则不变。)

服务器端(接收方解包)

1)路由器(入境)

2)交换机(境内)

3)服务器(终点)

服务器层层扒开数据包头部,最后通过 TCP 头部的端口号确认是 HTTP 进程想要的这个包

HTTP 进程将资源封装在HTTP 响应报文中,也依次穿上 TCP、IP、MAC 头部,从网卡出去,交由交换机转发到路由器,经过层层转发,最后到达客户端

客户端扒剩 HTTP 响应报文后,交给浏览器去渲染页面并显示资源

最后客户端要离开时,向服务器发起TCP 四次挥手,至此双方连接断开

示例:服务器和客户端相互扒皮

2ab36e64-d4b6-11ef-9310-92fbcf53809c.png

链接:https://www.cnblogs.com/juno3550/p/14385367.html


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTTP
    +关注

    关注

    0

    文章

    539

    浏览量

    35675
  • OSI
    OSI
    +关注

    关注

    0

    文章

    87

    浏览量

    15908
  • 网络通讯
    +关注

    关注

    0

    文章

    78

    浏览量

    12860

原文标题:2. HTTP 网络通讯过程

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    对于已有主站在通讯的多设备RS485串联结构,如何获取到的数据?

    的起始地址和数量即可。毫秒级通讯速度快,支持热插拔,断电断网后能自动恢复运行。相关案例在附件中 本案例现场已经有触摸屏、电脑等主站设备在通过ModbusRTU协议485网络通讯,接入IGT-DSER
    发表于 04-09 09:22

    一篇文章读懂工业“桥梁”:PLC网络通讯模块详解

    PLC 网络通讯模块是实现 PLC 与其他设备或系统之间通信的关键组件,起到连接 PLC 与外部世界的桥梁作用。 硬件形态 通常是插接在PLC基板上的独立模块(如西门子的CP/CM模块、罗克韦尔
    的头像 发表于 01-30 10:02 487次阅读
    一篇文章读懂工业“桥梁”:PLC<b class='flag-5'>网络通讯</b>模块详解

    技术驱动·生态协同——网络通讯及AIOT人工智能核心产品技术解析与行业应用方案探讨

    交换机|路由器|工业以太网|PoE 安防|通信设备|车载网络|能源控制|物联网终端
    的头像 发表于 01-12 13:08 659次阅读
    技术驱动·生态协同——<b class='flag-5'>网络通讯</b>及AIOT人工智能核心产品技术解析与行业应用方案探讨

    工业领域为什么会用到HTTP协议

    : 1. 与IT系统无缝集成 企业信息化基础 :现代工业系统(如MES、ERP、SCADA)通常基于IT架构构建,而HTTP是互联网和企业内部网络的核心协议。工业设备通过HTTP接口可直接与企业信息系统(如数据库、云平台)交互,
    的头像 发表于 12-27 09:38 336次阅读

    HTTP通信网关是什么?有什么功能?

    HTTP通信网关是连接不同网络或协议的关键设备/服务器,在HTTP通信中扮演着协议转换、安全加固、性能优化等核心角色,其本质是 实现不同协议或网络间的数据转发与处理 。以下是其核心功能
    的头像 发表于 12-23 11:14 755次阅读

    如何选择支持CAN FD与车载以太网的一体化车载网络测试主板?虹科车辆网络通讯测试主板深度解析

    痛点而生的高性能车载网络通讯测试主板——虹科HKIC1-MBM2100,看它如何凭借8路CAN/CAN FD接口与2路1000BASE-T1车载以太网的集成式设计,重塑车辆测试的价值。 一、核心痛点:为什么需要CAN FD与车载以太网一体化的测试方案? 在智能网联
    的头像 发表于 12-11 15:03 663次阅读

    网络通讯的结构及地址

    1. 网络地址结构 Socket通过结构体描述网络地址,最常用的是IPv4地址结构sockaddr_in(定义在): struct sockaddr_in
    发表于 11-17 07:59

    高效电网监测新选择:APM521网络电力仪表的应用与功能解析

    安科瑞电气股份有限公司推出的APM521网络电力仪表,正是为满足这一需求而设计的高性能测量设备。该仪表严格遵循IEC国际标准,具备全电量测量、电能统计、电能质量分析、事件记录与网络通讯等多项功能,可广泛应用于工业、建筑、能源管理等领域的电力监控系统。
    的头像 发表于 09-18 09:39 841次阅读
    高效电网监测新选择:APM521<b class='flag-5'>网络</b>电力仪表的应用与功能解析

    变频器CANBUS网络通讯异常深度解析

    变频器作为工业自动化领域的核心设备,其通信稳定性直接影响生产系统的可靠性。CANBUS网络凭借实时性强、抗干扰能力突出等优势,成为变频器组网的主流方案。然而在实际应用中,通信异常问题频发,轻则导致
    的头像 发表于 09-17 22:18 1938次阅读
    变频器CANBUS<b class='flag-5'>网络通讯</b>异常深度解析

    不同品牌的PLC之间通讯的各种实现方式,以及网络结构图

    级别的数据交互,同样的数据量在同等质量的网络通讯时,数据刷新速度同总线;相关参数在一个页面内配置,方便直观;在调试过程中有详细的状态反馈信息,以及完善的数据监控和通讯错误处理机制。
    的头像 发表于 08-19 09:57 1245次阅读
    不同品牌的PLC之间<b class='flag-5'>通讯</b>的各种实现方式,以及<b class='flag-5'>网络</b>结构图

    第九章 W55MH32 HTTP Server示例

    本文介绍了在 W55MH32 芯片上实现 HTTP Server 功能,并通过浏览器修改其网络地址信息的方法。阐述了 HTTP 协议的概念、特点、应用场景、工作流程、请求方法、响应内容,以及 Web 页面构成和交互方式。展示了在
    的头像 发表于 07-24 09:35 1523次阅读
    第九章 W55MH32 <b class='flag-5'>HTTP</b> Server示例

    虹科车辆网络通讯测试主板:双系统适配 × 工业级稳定 × 零门槛部署

    本文探讨了车载网络测试面临的挑战,包括多协议并发时的数据丢包、繁杂线束带来的集成难题和逐年攀升的设备维护成本。虹科全新推出的HKIC1-MBM2100 车辆网络通讯测试主板凭借其硬核配置和易用设计,成功解决了这些问题。
    的头像 发表于 07-15 11:15 817次阅读
    虹科车辆<b class='flag-5'>网络通讯</b>测试主板:双系统适配 × 工业级稳定 × 零门槛部署

    C#上位机与运动控制卡网络通讯的周期上报

    使用C#上位机编程实现运动控制卡网络通讯的周期上报功能
    的头像 发表于 06-26 13:59 1107次阅读
    C#上位机与运动控制卡<b class='flag-5'>网络通讯</b>的周期上报

    PLC通过智能网关做HTTP协议通讯,先取得token后再提交获取JSON格式的数据文件

    智能网关IGT-DSER集成了多种PLC的原厂协议,方便实现各种PLC、智能仪表通过HTTP协议与MES等各种系统平台通讯对接。PLC内不用编写程序,通过网关的参数配置软件(下载地址)配置JSON
    的头像 发表于 06-17 11:28 1001次阅读
    PLC通过智能网关做<b class='flag-5'>HTTP</b>协议<b class='flag-5'>通讯</b>,先取得token后再提交获取JSON格式的数据文件

    HTTP协议在工业领域会用到吗

    、控制器、工业机器人等)需要接入网络以实现远程监控和管理。HTTP协议作为一种广泛应用的网络协议,可以用于设备与工业互联网平台之间的通信。设备通过HTTP请求将自身的状态信息(如运行状
    的头像 发表于 06-03 09:17 844次阅读