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 自己定了 “分隔规则”,确保能正确拆分出每个请求 / 响应单元。
适用场景 视频通话、实时游戏、DNS 查询
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值