HTTP 网络协议核心概念解析
网络分层模型
理解 HTTP 之前,先理清底层的网络架构。我们可以把数据发送想象成寄快递,这样更容易理解各层的职责:
- 应用层:相当于寄件人,负责生成具体的业务数据。
- 传输层:类似分拣中心,将数据切分成数据包,按目的地分类。
- 网络层:决定路径,寻找 IP 地址和物理地址(MAC),规划跨省或跨城的中转路线。
- 链路层:调用硬件进行实际的数据传输。
这种分层让系统更清晰,网络层专注路由寻址,链路层则关注硬件交互。
传输层与连接建立
TCP 协议在传输层保障可靠性。建立连接需要'三次握手':先确认对方能不能收,收到回复后再正式发请求。这步操作确保了双方都准备好通信,避免数据丢失或错序。
寻址与资源定位
- 域名与 DNS:域名是给人看的地址,DNS 解析则是将其转换为机器识别的 IP 地址。
- URL 与 URI:URL 用于定位具体内容的地点,而 URI 范围更广,包含文本、图形、声音等所有资源的标识。
HTTP 工作机制
HTTP 是无状态的,这意味着服务器默认不记录历史请求。如果每次请求都像第一次一样处理,效率会很低。为了解决这个问题:
- Keep-Alive:保持长连接,避免频繁断开重连寻找资源路径,节省时间。
- Cookie:解决无状态带来的记忆问题。当客户端请求不同资源时,Cookie 保障了会话连续性,否则就得靠人来记了。
安全与演进
随着时代发展,单纯的 HTTP 已无法满足需求:
- HTTPS:在 HTTP 基础上增加加密通道,确保数据传输安全。
- 新协议:AJAX、Comet、SPDY 以及 WebSocket 等协议的出现,旨在维持服务器与客户端的长期关系,支持实时双向通信。
- Connect 隧道:代理服务器通过隧道协议进行内容加密中转,不解析具体内容。
常见安全威胁
最后提醒一点,开发中需注意 SQL 注入攻击。当 SQL 语句存在疏漏时,恶意用户可能注入非法指令,导致数据被篡改或删除。编写代码时应严格过滤输入,避免命令拼接风险。

