Appearance
HTTP 请求方法
方法 | 主要用途 | 请求特点 | 数据位置 | 适用场景 |
---|---|---|---|---|
GET | 从服务器获取资源 | 不包含请求体 | 参数在 URL 中 | 查询操作 |
POST | 向服务器提交数据 | 用于创建资源 | 数据在请求体中 | 新增操作 |
PUT | 更新服务器资源 | 是幂等操作 | 数据在请求体中 | 更新操作 |
DELETE | 删除服务器资源 | 不包含请求体 | 参数在 URL 中 | 删除操作 |
OPTIONS | 跨域请求预检 | 获取支持的方法 | - | CORS 机制 |
TRACE | 回显服务器请求 | 用于调试诊断 | - | 测试目的 |
GET 与 POST 的区别
从 HTTP 协议的角度来看,GET 和 POST 本质上只是请求行中的第一个单词不同。除了语义上的差异,它们并没有根本的区别。
在实际开发中的诸多区别,主要源于浏览器的默认行为导致。主要的区别:
区别类型 | GET | POST |
---|---|---|
请求体 | 浏览器发送时不会附带请求体 | 可以包含请求体 |
数据传输 | 传递信息量有限,适合少量数据 | 传递信息量无限制,适合大量数据 |
数据类型 | 仅支持 ASCII 数据,其他类型需编码 | 支持任意数据类型,无限制 |
数据安全 | 数据通常附加在 URL 中,可见且可分享,不适合传输敏感信息 | 数据在请求体中,相对更安全 |
页面刷新 | 刷新页面无提示 | 刷新页面会提示是否重新提交 |
浏览器功能 | URL 可保存为书签 | 无法保存为书签 |