什么是网络协议?
网络协议是计算机之间通信的规则集合。就像人类交流需要共同的语言一样,计算机也需要遵循相同的协议才能互相"理解"。协议规定了数据的格式、传输方式、错误处理等各种细节。
📬 寄信的类比
协议就像邮政系统的规则:信封上要写地址、贴邮票、投进邮筒。不同的协议负责不同的任务,就像邮局有国内件、国际件、快递、挂号信等不同服务。
TCP/IP协议族
TCP/IP是互联网的基础协议,由多个协议组成的"协议族",分为四层:
应用层
直接为用户提供服务的协议。你每天接触的HTTP、HTTPS、SMTP(邮件)、FTP(文件传输)都在这一层。
传输层
负责端到端的数据传输,主要有两个协议:
- TCP:可靠传输,确保数据完整到达,适合网页、邮件
- UDP:快速但不保证可靠,适合视频、游戏
网络层
负责在网络中寻找路径,把数据从源地址传送到目标地址。IP协议就在这一层。
链路层
负责在物理网络中传输数据帧,如以太网、Wi-Fi协议。
🌐 HTTP/HTTPS
网页传输协议,HTTPS增加了加密保护
📧 SMTP/POP3/IMAP
电子邮件的发送和接收协议
🔗 TCP
可靠传输,三次握手建立连接
⚡ UDP
快速传输,用于实时音视频
TCP vs UDP
TCP(传输控制协议)
TCP像挂号信,确保数据可靠送达:
- 三次握手建立连接
- 数据分段并编号
- 接收方确认收到
- 丢失的数据会重传
- 保证数据顺序正确
适用场景:网页浏览、文件下载、电子邮件
UDP(用户数据报协议)
UDP像明信片,发出去就不管了:
- 无需建立连接
- 不保证送达
- 速度快、延迟低
- 适合实时性要求高的场景
适用场景:视频通话、在线游戏、直播
HTTP协议详解
HTTP(超文本传输协议)是万维网的基础,定义了浏览器和服务器之间的通信规则。
请求方法
- GET:获取资源,如打开网页
- POST:提交数据,如登录、发帖
- PUT:更新资源
- DELETE:删除资源
状态码
- 200 OK:请求成功
- 301/302:重定向
- 404 Not Found:页面不存在
- 500:服务器内部错误
HTTPS:加密的HTTP
HTTPS在HTTP基础上增加了TLS/SSL加密层,保护数据传输安全。现代网站都应该使用HTTPS。
🔒 为什么HTTPS重要?
没有HTTPS,你输入的密码、银行卡号可能被网络上的任何人窃听。HTTPS加密后,即使数据被截获,攻击者也无法解密。
WebSocket:双向通信
传统HTTP是"请求-响应"模式,客户端问,服务器才答。WebSocket建立后可以双向通信,服务器可以主动推送消息给客户端。
适用场景:聊天应用、实时通知、协作编辑、股票行情
新一代协议
- HTTP/2:多路复用、头部压缩、服务器推送,大幅提升性能
- HTTP/3:基于UDP的QUIC协议,更快的连接建立,更好的移动网络体验
- gRPC:Google开发的高性能RPC框架,微服务间通信的选择