TCP、UDP Http Https

TCP、UDP、HTTP、HTTPS 是互联网通信的四大基石。要理解它们,最简单的方式是将它们看作一个物流系统:

  • TCP/UDP 是运输层(决定用卡车还是飞机运货,是否要签收)。
  • HTTP/HTTPS 是应用层(决定货物怎么打包、清单怎么写、是否要加密箱)。
它们的关系层级如下:

1传输层双雄:TCP vs UDP

这两个协议负责端到端的数据传输,决定了数据"怎么运"。

特性 TCP (Transmission Control Protocol) UDP (User Datagram Protocol)
连接性 面向连接。发送前必须"三次握手"建立连接。 无连接。想发就发,不需要事先打招呼。
可靠性 高可靠。保证数据不丢失、不重复、按顺序到达。丢了会自动重传。 不可靠。发出去就不管了,丢了就丢了,不重传,不保序。
速度 较慢。因为要建立连接、确认应答、拥塞控制,开销大。 极快。头部开销小(仅8字节),无确认机制,延迟极低。
数据形式 字节流。像水流一样,没有边界,接收方需自己处理粘包。 数据报。一个个独立的包,有明确的边界。
生活类比 打电话或寄挂号信。 "喂,听得见吗?"(握手) "收到请回复。"(确认) "没收到?我再发一遍。"(重传) 大喇叭广播或寄明信片。 对着人群喊话,不管谁听到。 或者把明信片扔进邮筒,丢了也不管。
典型场景 网页浏览、文件下载、电子邮件、数据库连接。 (要求数据绝对准确) 视频直播、在线游戏、语音通话 (VoIP)、DNS查询。 (要求实时性,偶尔丢帧没关系)

2. 应用层双子:HTTP vs HTTPS

这两个协议运行在TCP之上(注:最新的 HTTP/3 开始基于 UDP),负责定义数据的内容格式和交互规则。

特性 HTTP (HyperText Transfer Protocol) HTTPS (HTTP Secure)
安全性 明文传输。数据在网络上"裸奔",容易被窃听、篡改(如中间人攻击)。 加密传输。基于 SSL/TLS 协议加密,数据被封装在安全隧道中,防窃听、防篡改。
端口 默认 80 端口。 默认 443 端口。
证书 不需要证书。 需要向 CA 机构申请 SSL/TLS 数字证书(验证服务器身份)。
性能 理论上稍快(少了解密过程),但在 HTTP/2 和 HTTP/3 时代,差距已微乎其微。 早期因握手和加密稍慢,但现在硬件加速普及,性能与 HTTP 几乎无异,且 HTTP/2 强制要求 HTTPS。
SEO 影响 现代浏览器(Chrome等)会标记为"不安全",搜索引擎排名会降低。 搜索引擎优先收录,浏览器显示"安全锁"标志。
生活类比 普通明信片。 邮递员、路人谁都能看懂上面写了什么。 防弹保险箱快递。 只有持有钥匙的收件人才能打开,途中谁也打不开。
典型场景 内部测试、非敏感信息的旧系统。 所有现代网站、支付、登录、隐私数据传输。

3四者的核心关系与工作流程

经典流程 (HTTP/1.1 & HTTP/2)

当你访问 https://www.example.com 时:

  • 1DNS 解析 (通常用 UDP):将域名解析为 IP 地址。
  • 2建立连接 (TCP):浏览器与服务器进行"三次握手",建立可靠的 TCP 通道。
  • 3安全握手 (TLS/SSL):在 TCP 通道上,双方交换证书、协商密钥,建立加密隧道(这就是 HTTPS 的 "S")。
  • 4 发送请求 (HTTP):浏览器在加密隧道内,按照 HTTP 协议格式发送 GET / 请求。
  • 5返回响应 (HTTP):服务器返回 HTML 数据。
  • 6断开连接 (TCP):数据传输完毕,进行"四次挥手"断开连接(或保持长连接)。

公式:

  • HTTP = 应用层规则 (怎么说话)
  • HTTPS = HTTP + SSL/TLS (加密的说话方式)
  • HTTP/HTTPS 通常跑在 TCP 上 (可靠的电话线)
  • HTTP/3 (最新标准) 跑在 UDP 上 (为了更快的速度,解决了 TCP 的队头阻塞问题)

2026 年视角下的新趋势:HTTP/3 与 QUIC

在 2026 年的今天,你必须知道 HTTP/3 已经非常普及,它打破了"HTTP 必须基于 TCP"的传统认知:

传统 (HTTP/1.1, HTTP/2): 基于 TCP。

缺点:TCP 有一个"队头阻塞"问题。如果一个数据包丢了,后续所有数据包都要等它重传成功才能处理,导致网页加载卡顿。

现代 (HTTP/3): 基于 UDP (具体协议叫 QUIC)。

原理:利用 UDP 的高速特性,自己在应用层实现了可靠传输和多路复用。

优势:即使某个数据包丢了,只影响那一个请求,不影响其他资源加载;且在网络切换(如 WiFi 切 4G)时连接不断开。

现状:YouTube、Google、Facebook 以及大量电商网站已默认启用 HTTP/3。

总结对比表

维度 TCP UDP HTTP HTTPS
层级 传输层 传输层 应用层 应用层
核心目标 可靠、有序 快速、实时 传输超文本 安全传输超文本
是否加密 否 (本身不加密) 否 (明文) 是 (SSL/TLS)
依赖关系 底层基础 底层基础 通常基于 TCP 基于 TCP + SSL
最新演变 稳定成熟 稳定成熟 逐渐被 HTTP/2/3 取代 主流标准 (HTTP/2/3 over TLS)
一句话 靠谱的快递员 飞快的无人机 普通的送货单 加密的保险箱送货单

开发建议:

  • 选 TCP 还是 UDP? 只要不是做直播、游戏或实时音视频,无脑选 TCP。
  • 选 HTTP 还是 HTTPS? 永远选 HTTPS。现在 Let's Encrypt 等免费证书随处可见,HTTP 已被视为不安全且不专业。
  • 关注 HTTP/3:如果你的服务对全球弱网环境下的加载速度有极致要求,考虑开启 HTTP/3 (QUIC) 支持。
相关推荐
黄昏晓x1 天前
Linux ---- UDP和TCP
linux·tcp/ip·udp
favour_you___1 天前
epoll惊群问题与解决
服务器·网络·tcp/ip·epoll
.select.1 天前
TCP 3
服务器·网络·tcp/ip
阿捏利1 天前
详解网络协议(十六)UDP协议
网络·网络协议·udp
情绪雪1 天前
IP 协议基本原理
网络·网络协议·tcp/ip
Lucas_coding1 天前
【语音相关ASR】OpenAI 兼容 Qwen_ASR 接口调用实战:SDK 与 HTTP 方式详解
网络·网络协议·http
小快说网安1 天前
高防 IP 的 “防护上限”:带宽、清洗能力、防御类型如何匹配业务需求
网络·tcp/ip·安全
不会写DN1 天前
如何设计应用层 ACK 来补充 TCP 的不足?
开发语言·网络·数据库·网络协议·tcp/ip·golang
snow@li1 天前
协议:应用层开发都会涉及哪些协议 / 详细整理 / http、ws、https、wss
网络协议·http·https
不会写DN1 天前
如何给 Go 语言的 TCP 聊天服务加上 ACK 可靠送达机制
开发语言·tcp/ip·golang