HTTP 常见请求方法和状态码有哪些?

请求方法

方法 说明 幂等 安全
GET 获取资源 ✅ ✅
POST 创建资源 ❌ ❌
PUT 完整更新资源 ✅ ❌
PATCH 部分更新资源 ❌ ❌
DELETE 删除资源 ✅ ❌
HEAD 获取头信息(无响应体) ✅ ✅
OPTIONS 预检请求(CORS) ✅ ✅

幂等:多次执行结果相同(GET 请求多次结果一致)
安全:不修改服务器数据

GET vs POST

特性 GET POST
参数位置 URL query 请求体
长度限制 浏览器有限制(~2KB) 无限制
缓存 ✅ 可缓存 ❌ 默认不缓存
幂等 ✅ ❌
浏览器历史 ✅ 保留 ❌
书签 ✅ 可收藏 ❌
编码 URL 编码 多种(form-data、json)

状态码

1xx 信息:

2xx 成功:

3xx 重定向:

4xx 客户端错误:

5xx 服务器错误:

301 vs 302

RESTful API 设计

GET    /users          # 获取用户列表
GET    /users/:id      # 获取单个用户
POST   /users          # 创建用户
PUT    /users/:id      # 更新用户(全量)
PATCH  /users/:id      # 更新用户(部分)
DELETE /users/:id      # 删除用户

同分类其他题目