网络通信是 Web 接口开发的底层基础。本文讲解 TCP/IP 四层协议栈分层职责数据包封装和解封装流程深入讲解 HTTP 协议请求报文、响应报文、HTTP 方法、状态码、无状态特性对比 HTTP/1.1、HTTP/2、HTTP/3HTTPS 加密原理附带面试高频问题适合后端开发夯实网络基础。前言所有 Web 接口、REST 接口、SSE 推送底层全部依赖 TCP/IP 协议栈HTTP 是构建在 TCP 之上的应用层协议。后端开发调试接口、排查超时、连接异常、跨域问题都需要理解这套底层网络模型。很多开发只会调用接口但不清楚数据包从客户端发出经过多层封装到达服务端的完整流转过程。OSI 七层模型是理论参考模型TCP/IP 四层模型是互联网真实使用的标准。一、TCP/IP 四层协议栈分层详解从上层到下层应用层 → 传输层 → 网络层 → 网络接口层表格分层包含协议核心职责应用层HTTP、HTTPS、DNS、FTP面向应用程序定义业务数据格式。HTTP 就是应用层协议规定请求响应报文格式传输层TCP、UDP端到端进程通信端口寻址。TCP 可靠传输UDP 无连接不可靠网络层IP、ICMP、ARP主机寻址IP 地址路由选择跨网络转发数据包网络接口层以太网、WiFi物理传输比特流封装帧网卡传输数据包封装发送端从上往下层层打包应用层HTTP 生成请求报文请求行、请求头、请求体传输层 TCP增加 TCP 头部源端口、目标端口、序列号、确认号封装 TCP 段网络层 IP增加 IP 头部源 IP、目标 IP封装 IP 数据包网络接口层封装帧头帧尾转为比特流网卡发送出去。接收端解封装自下向上解析逐层剥离头部最终把 HTTP 报文交给应用程序。TCP 核心特性HTTP 默认基于 TCPTCP面向连接、可靠传输、三次握手、四次挥手、流量控制、拥塞控制。三次握手建立连接。客户端 SYN → 服务端 SYNACK → 客户端 ACK四次挥手断开连接。双方分别关闭读写通道可靠序列号 确认应答、超时重传保证数据不丢、不乱序全双工双方可以同时收发。UDP无连接没有握手开销小不可靠。DNS、直播使用 UDP。HTTP 默认 TCPHTTP/3 使用 QUIC基于 UDP。二、HTTP 协议原理HTTPHyperText Transfer Protocol超文本传输协议应用层协议基于 TCP客户端 - 服务端请求响应模型无状态协议。无状态协议本身不记住上一次请求信息服务端无法识别两次请求是不是同一个用户。解决方案Cookie、Session、Token。1. HTTP 请求报文结构请求行方法 URL HTTP版本例GET /api/users HTTP/1.1请求头Request Headers大量 K-VHost、User-Agent、Content-Type、Cookie、Authorization 等空行必须分隔请求头和请求体请求体 BodyPOST/PUT 携带 JSON / 表单数据GET 一般没有请求体2. HTTP 响应报文结构状态行HTTP版本 状态码 描述例HTTP/1.1 200 OK响应头Content-Type、Content-Length、Set-Cookie、Cache-Control空行响应体返回 JSON、HTML、文本等业务数据3. 常用 HTTP 方法GET获取资源安全、幂等参数放 URLPOST新建资源非幂等请求体传参PUT全量更新资源幂等PATCH局部更新资源DELETE删除资源幂等安全操作不会修改服务端资源幂等多次执行结果和执行一次完全一致。4. HTTP 状态码分类2xx 成功200 OK201 Created 创建成功204 No Content 删除成功无返回体3xx 重定向301 永久重定向302 临时重定向304 Not Modified 缓存命中4xx 客户端错误400 参数错误401 未认证403 权限不足404 资源不存在405 方法不允许422 参数校验失败5xx 服务端错误500 服务内部异常502 网关错误503 服务不可用5. HTTP 版本演进HTTP/1.0短连接每次请求新建 TCP 连接HTTP/1.1默认长连接 keep-alive管线化支持分块传输目前最广泛HTTP/2二进制帧、多路复用、头部压缩、服务端推送仍基于 TCPHTTP/3QUIC 协议基于 UDP解决 TCP 队头阻塞低延迟。HTTPSHTTPTLS。TCP 三次握手之后先进行 TLS 握手加密再传输 HTTP 明文。作用传输加密、身份认证、防篡改默认端口 443HTTP 默认 80。三、HTTP 通信完整流程示例访问https://xxx.com/api/usersDNS 解析域名 → 拿到服务器 IPTCP 三次握手建立客户端和服务器 TCP 连接TLS 握手协商加密套件生成会话密钥客户端构造 HTTP 请求报文加密后发送服务端解密解析 HTTP 报文执行业务逻辑构造 HTTP 响应报文加密返回客户端解密解析响应空闲超时或者主动断开TCP 四次挥手释放连接。四、高频面试题Q1TCP 和 UDP 区别HTTP 基于哪个 ATCP 面向连接、可靠三次握手四次挥手UDP 无连接不可靠。HTTP/1.1、HTTP/2 底层 TCPHTTP/3 使用 QUIC 基于 UDP。Q2HTTP 无状态是什么意思如何解决无状态 A协议本身不保存客户端状态。使用 Cookie、Session、Token 维持会话。Q3GET 和 POST 区别 AGET 用于查询参数拼接 URL无请求体POST 新建资源数据放请求体。GET 安全幂等POST 非幂等。Q4Keep-Alive 作用 AHTTP 长连接一次 TCP 连接可以连续多次 HTTP 请求不用反复握手提升性能。结语TCP/IP 是底层传输骨架HTTP 是应用层规范。掌握分层封装、TCP 可靠传输、HTTP 报文结构是理解 REST 接口、SSE 推送、接口超时、网络异常的基础。后续 RESTful、SSE 都是建立在 HTTP 协议之上。