返回首页
网络协议基础与HTTP详解
TCP/IP协议栈
TCP/IP协议栈是互联网的基础协议族,分为四层结构:
- 应用层:HTTP、FTP、SMTP、DNS等协议
- 传输层:TCP、UDP协议
- 网络层:IP协议
- 链路层:以太网、Wi-Fi等
TCP与UDP对比:
| 特性 | TCP | UDP |
|---|---|---|
| 连接方式 | 面向连接 | 无连接 |
| 可靠性 | 可靠,有重传机制 | 不可靠,尽力而为 |
| 速度 | 较慢 | 较快 |
| 数据顺序 | 保证数据顺序 | 不保证数据顺序 |
| 使用场景 | 文件传输、网页浏览 | 视频流、DNS查询 |
HTTP协议详解
HTTP(超文本传输协议)是Web应用的核心协议。
HTTP方法:
- GET:请求资源
- POST:提交数据
- PUT:更新资源
- DELETE:删除资源
- PATCH:部分更新资源
- HEAD:获取响应头
- OPTIONS:查询服务器支持的HTTP方法
HTTP状态码:
- 1xx:信息性状态码
- 2xx:成功状态码(200 OK,201 Created)
- 3xx:重定向状态码(301 Moved Permanently)
- 4xx:客户端错误(404 Not Found,403 Forbidden)
- 5xx:服务器错误(500 Internal Server Error)
HTTP请求示例:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
HTTP响应示例:
HTTP/1.1 200 OK
Date: Mon, 23 Oct 2023 12:00:00 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 138
Last-Modified: Mon, 16 Oct 2023 10:00:00 GMT
Server: Apache/2.4.41
<!DOCTYPE html>
<html>
<body>
<h1>Hello World</h1>
</body>
</html>
HTTPS与安全
HTTPS = HTTP + SSL/TLS,通过加密和认证保证通信安全。
- 加密:防止数据被窃听
- 完整性保护:防止数据被篡改
- 身份认证:确认通信对方身份
SSL/TLS握手过程:
- 客户端发送ClientHello,包含支持的加密算法
- 服务器发送ServerHello,选择加密算法,发送证书
- 客户端验证证书,生成预主密钥,用服务器公钥加密发送
- 双方根据预主密钥生成会话密钥
- 开始加密通信