返回首页

网络协议基础与HTTP详解

HTTP TCP/IP 网络协议 HTTPS Web

TCP/IP协议栈

TCP/IP协议栈是互联网的基础协议族,分为四层结构:

  1. 应用层:HTTP、FTP、SMTP、DNS等协议
  2. 传输层:TCP、UDP协议
  3. 网络层:IP协议
  4. 链路层:以太网、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握手过程:

  1. 客户端发送ClientHello,包含支持的加密算法
  2. 服务器发送ServerHello,选择加密算法,发送证书
  3. 客户端验证证书,生成预主密钥,用服务器公钥加密发送
  4. 双方根据预主密钥生成会话密钥
  5. 开始加密通信