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

TCP/IP、socket、http

区分与联系

  • TCP/IP 是底层规则,规定数据如何传输;
  • Socket 是操作 TCP/IP 的工具,让程序能实现通信;
  • HTTPS 是上层应用,用 Socket 调用 TCP/IP 协议,实现安全的数据传输。
应用层:HTTPS(基于 HTTP + SSL/TLS)|    |    socket连接了应用层和传输层↓
传输层:TCP(可靠传输)↓
网络层:IP(路由和寻址)↓
网络接口层:物理网络传输(以上四层统称 TCP/IP 协议族)

  • TCP/UDP 的连接:是传输层的通道,目的是为上层协议提供稳定的数据传输能力,一旦建立(TCP)或绑定(UDP),可长期复用。
  • HTTP 的 “连接”:是应用层的交互逻辑,本质是 “请求 - 响应” 的序列,其复用依赖底层 TCP 连接的策略(短连接 / 长连接),但逻辑上每次请求仍是独立的交互单元。

        TCP/UDP 负责 “铺路”,路一旦铺好可以反复走;HTTP 负责 “在路上运货”,运货的次数和方式(一次运一件还是多件)由 HTTP 协议自身规则决定。

特性 UDP TCP HTTP
连接方式 无连接(发送数据前无需建立连接) 面向连接(需三次握手建立连接) 基于 TCP 的连接(依赖 TCP 握手)
可靠性 不可靠(不保证数据送达、顺序或完整性) 可靠(通过确认、重传、排序机制保证) 依赖 TCP 实现可靠性(自身不处理)
速度 快(无握手 / 确认开销,适用于实时场景) 较慢(握手、确认等机制增加开销) 速度受 TCP 影响,额外携带应用层头部
数据边界

保留数据边界:“原样传输,不拆不合并,严格按发送时的完整单元传输。”(不会出现 “一次收到 150 字节(前一个包裹的 100 + 后一个的 50))

不保留数据边界:“拆合自由,无视边界”(比如两次 500 字节的发送,可能合并成一个 1000 字节的 TCP 段发送)

        底层是无边界的 TCP 字节流,但 HTTP 自己定了 “分隔规则”,确保能正确拆分出每个请求 / 响应单元。
http://www.dtcms.com/a/327859.html

相关文章:

  • 5分钟精通 useMemo
  • Ubuntu-初始化环境
  • Kafka的一条消息的写入和读取过程原理介绍
  • SQL脚本--捞json数据
  • 【SpringBoot】08 容器功能 - SpringBoot底层注解汇总大全
  • CPPIO流
  • 熟悉并使用Spring框架 - XML篇
  • 深度学习自动并行技术:突破计算瓶颈的智能调度艺术
  • Qwen-OCR:开源OCR技术的演进与全面分析
  • 机器学习-决策树(上)
  • 小黑课堂计算机一级WPSOffice题库安装包1.44_Win中文_计算机一级考试_安装教程
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-会议记录
  • 91、23种经典设计模式
  • STM32即插即用HAL库驱动系列——4位串行数码管显示
  • Pandas数据处理与分析实战:Pandas数据处理与分析入门-选择与过滤
  • uniapp -- 小程序处理与设备通讯 GBK/GB2312 编码问题。
  • 记一次 .NET 某汽车控制焊接软件 卡死分析
  • 腾讯云terraform学习教程
  • 传输线的效应
  • 【MAUI】在 .NET MAUI 中实现全局异常捕获的完整指南
  • 五、Nginx、RabbitMQ和Redis在Linux中的安装和部署
  • DAY41 简单CNN
  • PostgreSQL——数据查询
  • PyCharm Community 2024.2.3.exe 安装教程(详细步骤,附安装包下载)
  • Docker守护进程安全加固在香港VPS环境的操作标准
  • vue3使用插槽写一个自定义瀑布列表
  • 海康视觉相机驱动软件参数配置
  • 用 Docker 安装并启动 MySQL:从零到实战的完整指南
  • vivo Pulsar 万亿级消息处理实践(2)-从0到1建设 Pulsar 指标监控链路
  • 人工智能与金融:金融行业的革新