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

Socket

本质:“接口”

Socket 在程序中的表现:

  • 是一种操作系统底层的“网络通信能力”

  • FastAPI、Flask、Django、Nginx 都是在底层使用 socket 才能“监听端口”、“响应请求”

理解描述:
        操作系统给应用层的进程提供了 Socket 接口,你就能用它来连接其他服务器的端口,发送和接收信息

流程解析:

---------------------------------------------------------------------------------------------------------------------------------

你的程序(如 curl、浏览器)  
      ↓  
[ 应用层 - HTTP/HTTPS ]  
→ 构造请求数据包(如 GET /)  
      ↓  
[ 传输层 - TCP/UDP  → Socket 创建 & 连接 ]  
→ 创建 socket / 建立连接 / 拆分为 TCP 段  
      ↓  
[ 网络层 - IP 协议 ]  
→ 加上目标 IP 地址(google.com => 142.250.xxx.xxx)  
      ↓  
[ 数据链路层 - MAC + ARP ]  
→ 加上 MAC 地址 / 通过网关找到下一跳  
      ↓  
[ 物理层 - 电信号 / 无线信号 ]  
→ 通过网卡传到交换机 / 路由器  
      ↓  
== 经过若干网关和运营商路由节点(BGP 路由) ==  
      ↓  
== 客户端发出的网络包抵达目标服务器 ==  
      ↓  
[ 物理层 - 电信号 ]  
→ 信号从网线进入服务器网卡,转换为数字信号  
      ↓  
[ 数据链路层 - MAC帧 ]  
→ 校验帧完整性,识别是否是本机 MAC 地址(是则继续)  
      ↓  
[ 网络层 - IP 协议 ]  
→ 解析目标 IP 地址,确认是发给本机的包,丢弃 IP 头  
      ↓  
[ 传输层 - TCP ]  
→ 根据端口号交给 socket / TCP 重组数据段(拼接/去重)  
      ↓  
[ 会话层 / 表示层(可选)]  
→ 若使用 HTTPS,进行加密解密 / 会话管理  
      ↓  
[ 应用层 - HTTP/HTTPS ]  
→ 解析 HTTP 请求,如:  
  GET /index.html HTTP/1.1  
  Host: www.xxx.com  
  Cookie: ...  
      ↓  
[ Web 服务框架(如 Nginx / Flask / Node.js)]  
→ 根据 URL 路由、Header、参数等逻辑处理请求  
      ↓  
[ 生成响应数据(HTML/JSON/状态码)]  
→ 准备发回客户端  
      ↓  
== 进入封装流程,逐层返回 ==

---------------------------------------------------------------------------------------------------------------------------------

http://www.xdnf.cn/news/78859.html

相关文章:

  • 【数据可视化-21】水质安全数据可视化:探索化学物质与水质安全的关联
  • python 脚本引用django中的数据库model
  • UnitTest框架
  • c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第七式】程序的编译
  • ARM Cortex-M (STM32)如何调试HardFault
  • vite详细打包配置,包含性能优化、资源处理...
  • 突破AI检测边界:对抗技术与学术伦理的终极博弈
  • 【HarmonyOS】ArKUI框架
  • 诠视科技MR眼镜如何使用头瞄点和UGUI交互
  • Filename too long 错误
  • XML内容解析成实体类
  • Java 中 XML 处理工具类详解
  • WHAT - 静态资源缓存穿透
  • 【音视频】音频解码实战
  • Ubuntu-Linux中vi / vim编辑文件,保存并退出
  • Cline Roo Code
  • 广告效果分析-广告点击率mysql+pandas
  • C++ linux打包运行方案(cmake)
  • vue浅试(1)
  • audio 核心服务AudioPolicyService 和AudioFlinger启动流程
  • 野外价值观:在真实世界的语言模型互动中发现并分析价值观
  • 测试电源在光伏测试中的应用
  • http通信之axios vs fecth该如何选择?
  • PyTorch DDP 跨节点通信的底层机制
  • “融合Python与机器学习的多光谱遥感技术:数据处理、智能分类及跨领域应用”​
  • LDO手册看点
  • Android调用springboot接口上传大字段,偶现接口超时的优化
  • Java容灾架构设计
  • [目标检测] Yolov5模型
  • 开启报名!火山引擎 x PICO-全国大学生物联网设计竞赛赛题发布