HTTP 常用请求类型
类型 | 意义 | 描述 |
---|---|---|
GET | 查看 | 向特定的资源发出请求。 |
POST | 创建 | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。 |
PUT | 更新 | 向指定资源位置上传其最新内容。 |
PATCH | 部分更新 | 实体中包含一个表,表中说明与该URI所表示的原内容的区别。 |
DELETE | 删除 | 请求服务器删除Request-URI所标识的资源。 |
HEAD请求: Head请求与Get请求类似,但没有响应主体;检测缓存;探测资源是否存在。
HTTP
请求类型包含 9 种类型:OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT、PATCH。
这里仅展示通常我们常用的几种请求类型。
HTTP 请求状态码分类
级别 | 概述 | 描述 |
---|---|---|
1** | Informational | 信息行 状态码,表示接受的请求正在处理。 |
2** | Success | 成功 状态码,表示请求正常处理完毕。 |
3** | Redirection | 重定向 状态码,表示客户端需要进一步的操作以完成请求。 |
4** | Client Error | 客户端错误 状态码,表示服务器无法处理请求。 |
5** | Server Error | 服务器错误 状态码,表示服务器处理请求出错。 |
向 API 传入参数:使用Attribut
attribute | 参数来源 |
---|---|
[FromQuery] | 请求 URL 的参数字符串 |
[FromBody] | 请求主体数据 |
[FromForm] | 请求主体的表单数据(IFormFile、IFormFileCollection) |
[FromROute] | MVC 架构下的 Route 路由 URL 的参数 |
[FromService] | 数据来源于以注入的服务依赖 |
注意:
[FromQuery] 的参数来自地址栏,如https://xxxxxx?pageNumber=1
中的问号后面的部分即为参数;
[FromROute] 的参数为 URL 的一部分,如https://xxx/1/demo
中的 1 就为一个参数。
HTTP 请求专业术语概念
幂等性: 同样的操作不管经过多少次调用,返回的数据、或产生的效果都是一样的。
幂等性是数学概念,表达的是 N 次变换与 1 次变换的结果是相同的。
HTTP
方法的安全性和幂等性:
请求方法 | 安全性 | 幂等性 | 作用 |
---|---|---|---|
GET | 是 | 是 | 获取资源信息,并返回主体。 |
HEAD | 是 | 是 | 只请求头部信息。 |
OPTION | 是 | 是 | 查看服务器信息。 |
DELETE | 否 | 是 | 删除资源。 |
PUT | 否 | 是 | 更新资源。 |
POST | 否 | 否 | 创建资源。 |
PUT 与 PATCH 的区别
PUT: 对某个资源所有的字段进行更新。
PATCH: 对某个资源所选的某几个字段部分更行。
HTTP 方法 | 目的 | 参数 | 备注 |
---|---|---|---|
PUT | 更新某资源的 全部信息 | 该资源的 全部字段 | 当某些 字段被忽略 后,信息则会被删除 。 |
PATCH | 更新某资源的 部分信息 | 该资源 需要被更新的部分字段 | patch 是在 put 之后才被提出来的。 |
JSON Patch 的 6 个操作
add
添加某个字段;remove
删除某个字段;replace
替换某个字段数据;move
转移;copy
复制;test
测试。