HTTP协议 请求方法 详细说明 状态码

HTTP请求方式

详细讲解HTTP请求方法:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS等

9 常用方法
安全 GET/HEAD/OPTIONS
幂等 PUT/DELETE
标准 RFC 7231
GET 安全 幂等

获取资源

从服务器获取指定资源,请求参数附加在URL中

GET /api/users?id=123
查询数据 获取页面 下载文件
POST 不安全 非幂等

创建资源

向服务器提交数据,创建新资源,数据在请求体中

POST /api/users
表单提交 文件上传 新增数据
PUT 不安全 幂等

完整更新

替换整个资源,需要提供完整资源数据

PUT /api/users/123
全量更新 替换资源 覆盖数据
PATCH 不安全 非幂等

部分更新

局部更新资源,只发送需要修改的字段

PATCH /api/users/123
部分修改 增量更新 字段更新
DELETE 不安全 幂等

删除资源

删除指定的资源

DELETE /api/users/123
删除数据 移除资源 清理记录
HEAD 安全 幂等

获取头部

只获取响应头,不返回响应体

HEAD /api/users/123
检查资源 获取元数据 缓存验证
OPTIONS 安全 幂等

获取选项

获取服务器支持的HTTP方法

OPTIONS /api/users
CORS预检 能力发现 允许方法
CONNECT 不安全 非幂等

建立隧道

用于代理服务器,建立隧道连接

CONNECT proxy.example.com:443
HTTPS代理 隧道连接 SSL代理
TRACE 安全 幂等

回显请求

用于诊断,回显服务器收到的请求

TRACE /api/users
调试诊断 路径追踪 代理检测

请求方法对比

方法安全性幂等性可缓存请求体响应体
GET✓ 安全✓ 幂等✓ 是✗ 否✓ 是
POST✗ 不安全✗ 非幂等✗ 否✓ 是✓ 是
PUT✗ 不安全✓ 幂等✗ 否✓ 是✓ 是
PATCH✗ 不安全✗ 非幂等✗ 否✓ 是✓ 是
DELETE✗ 不安全✓ 幂等✗ 否✗ 否✓ 是
HEAD✓ 安全✓ 幂等✓ 是✗ 否✗ 否
OPTIONS✓ 安全✓ 幂等✗ 否✗ 否✓ 是

代码示例

// GET请求
fetch('https://api.example.com/users?id=123')
    .then(response => response.json())
    .then(data => console.log(data));

// POST请求
fetch('https://api.example.com/users', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ name: '张三', age: 25 })
})
    .then(response => response.json())
    .then(data => console.log(data));

// PUT请求
fetch('https://api.example.com/users/123', {
    method: 'PUT',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ name: '张三', age: 26 })
})
    .then(response => response.json())
    .then(data => console.log(data));

// DELETE请求
fetch('https://api.example.com/users/123', {
    method: 'DELETE'
})
    .then(response => response.json())
    .then(data => console.log(data));

常见状态码

200OK - 请求成功
201Created - 资源创建成功
204No Content - 无内容返回
301Moved Permanently - 永久重定向
302Found - 临时重定向
304Not Modified - 未修改
400Bad Request - 错误请求
401Unauthorized - 未授权
403Forbidden - 禁止访问
404Not Found - 资源未找到
405Method Not Allowed - 方法不允许
500Internal Server Error - 服务器错误
术语说明
安全:不修改服务器数据
幂等:多次请求效果相同
可缓存:响应可被缓存
请求体:是否包含请求数据