Http请求有哪些请求方式
GET (获取资源)
这是最常见的方法。它用于从服务器请求获取指定资源。
* 特点:
* 主要用于“读取”或“查询”数据,不应该改变服务器上的数据。
* 请求参数会附加在URL的末尾 (例如 ?key1=value1&key2=value2),因此不适合传输敏感信息。
* 请求是幂等的,意味着多次发送同样的GET请求,其结果和只发送一次是相同的。
* 请求是可缓存的,可以被浏览器或代理服务器缓存。
例子:在浏览器地址栏输入网址访问网页,点击链接跳转,查看商品列表。
POST (创建资源)
用于向服务器提交数据,请求服务器创建一个新的资源。 * 特点: * 数据包含在请求体(Request Body)中,而不是URL中,因此可以发送大量数据,也比GET更安全,适合传输敏感信息(如密码)。 * POST请求不是幂等的。如果连续两次提交同样的POST请求,服务器上可能会创建两个新的资源。 * 请求默认是不可缓存的。
例子:用户注册时提交表单,发表一篇新文章,下订单。
PUT (更新/替换资源)
用于向服务器发送数据,以更新或完全替换一个已经存在的资源。 * 特点: * 与POST类似,数据也包含在请求体中。 * PUT请求是幂等的。无论你用同样的数据发送一次还是多次PUT请求到同一个URL,最终服务器上该资源的状态都是一样的。 * 它要求客户端提供完整的资源数据,会对整个资源进行替换。
例子:更新一个用户的完整个人资料信息(姓名、年龄、地址等全部信息)。
DELETE (删除资源)
用于请求服务器删除指定的资源。 * 特点: * DELETE请求是幂等的。一次或多次删除同一个资源,最终结果都是该资源不存在。 * 操作通常是不可逆的。
例子:删除一篇文章,取消一个订单。
| 方法 | 主要用途 | 是否幂等(Idempotent) | 是否安全(Safe) | 数据位置 |
|---|---|---|---|---|
| GET | 查询/获取资源 | 是 | 是 | URL |
| POST | 创建新资源 | 否 | 否 | 请求体 |
| PUT | 完整更新资源 | 是 | 否 | 请求体 |
| DELETE | 删除资源 | 是 | 否 | URL |
| PATCH | 部分更新资源 | 不一定 | 否 | 请求体 |
| HEAD | 获取资源元数据 | 是 | 是 | URL |
| OPTIONS | 查询支持方法 | 是 | 是 | N/A |