什么是HTTP

HTTP (HyperText Transfer Protocol)是万维网数据通信的基础协议,作为应用层协议具有以下关键特性:

客户端-服务器模型:基于请求/响应模式

无状态协议:默认不保留通信状态

可扩展性:通过首部字段扩展功能

明文传输(HTTPS 实现加密)

协议演进历程

版本 发布时间 核心改进 典型应用场景
HTTP/0.9 1991 仅支持 GET 方法 早期简单文档传输
HTTP/1.0 1996 引入 HEAD/POST 方法、状态码 基础网页浏览
HTTP/1.1 1997 持久连接、管道化、缓存控制 现代 Web 应用基础
HTTP/2 2015 二进制分帧、头部压缩、多路复用 高性能网站/SPA
HTTP/3 2022 QUIC 协议、0-RTT 连接 移动端/高延迟环境

请求报文

GET /api/users HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Accept: application/json

(请求体)

响应报文

复制代码
HTTP/1.1 200 OK
Content-Type: application/json
Date: Wed, 21 Oct 2023 07:28:00 GMT

{
  "data": [...]
}

请求方法矩阵

方法 幂等性 安全性 典型应用场景
GET 获取资源
POST 创建资源/提交表单
PUT 完整更新资源
PATCH 部分更新资源
DELETE 删除资源
HEAD 获取响应头信息

状态码分类

状态码 类别 常见示例 开发者处理建议
1xx 信息响应 100 Continue 等待后续请求
2xx 成功响应 200 OK / 201 Created 正常处理业务逻辑
3xx 重定向 301 Moved Permanently 更新书签/处理跳转逻辑
4xx 客户端错误 400 Bad Request 检查请求参数/权限配置
5xx 服务端错误 500 Internal Server Error 排查服务端代码/日志

连接管理优化

策略 HTTP/1.1 HTTP/2
连接复用 Keep-Alive 多路复用
头部压缩 HPACK 压缩
服务器推送 不支持 支持
请求优先级 流优先级控制

缓存策略设计

graph LR

A[客户端请求] --> B{缓存有效?}

B -->|是| C[返回304 Not Modified]

B -->|否| D[返回200 + 新资源]

复制代码
 
相关推荐
YYYing.13 分钟前
【Linux/C++网络篇(二) 】TCP并发服务器演进史:从多进程到Epoll的进化指南
linux·服务器·网络·c++·tcp/ip
电磁脑机20 分钟前
人类分布式大脑架构与文明、技术、安全的底层逻辑——原创大脑架构理论研究
网络·分布式·神经网络·安全·架构
七夜zippoe25 分钟前
应用安全实践(一):常见Web漏洞(OWASP Top 10)与防护
java·前端·网络·安全·owasp
CDN36027 分钟前
游戏盾不生效、攻击防不住?策略校验与节点切换教程
网络·游戏
数智化管理手记9 小时前
精益生产中的TPM管理是什么?一文破解设备零故障的密码
服务器·网络·数据库·低代码·制造·源代码管理·精益工程
末日汐11 小时前
传输层协议UDP
linux·网络·udp
RopenYuan13 小时前
FastAPI -API Router的应用
前端·网络·python
@insist12313 小时前
网络工程师-VLAN 技术原理与配置指南(软考局域网核心考点)
网络·网络工程师·软考·软件水平考试
TechWayfarer13 小时前
如何搭建企业级IP归属地查询平台?
网络·网络协议·tcp/ip
TechWayfarer13 小时前
科普:IP归属地中的IDC/机房/家庭宽带有什么区别?
服务器·网络·tcp/ip