1.HTTP请求方法
1.GET:查询,从服务器取出资源
2.POST:创建单个资源
3.PUT/PATCH:在服务器更新资源
4.DELETE:删除
安全和幂等性:
安全性 | 幂等性 | |
---|---|---|
get | √ | √ |
post | × | × |
put | × | √ |
DELETE | × | √ |
2.状态码
1xx:相关信息
2xx:操作成功
3xx:重定向
4xx:客户端错误
5xx:服务器错误
状态码 | 状态说明 |
---|---|
200 OK | [GET]:服务器成功返回用户请求的数据,该操作是幂等性的 |
201 CREATED | [POST/PUT/PATC用户新建或修改数据成功] |
202 Accepted | [*]:表示一个请求已经进入后台排队(异步任务) |
204 NO CONTENT | [DELETE]:用户删除数据成功。 |
400 INVALID REQUEST | [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。 |
401 Unauthorized | [*]:表示用户没有权限(令牌、用户名、密码错误)。 |
403 Forbidden | [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。 |
404 NOT FOUND | [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。 |
406 Not Acceptable | [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。 |
410 Gone | [GET]:用户请求的资源被永久删除,且不会再得到的。 |
422 Unprocesable entity | [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。 |
500 INTERNAL SERVER ERROR | [*]:服务器发生错误,用户将无法判断发出的请求是否成功。 |
3.Format
常见的3种body format:
1.raw:可以上传任意格式的文本,可以上传Text,JSON,XML等,但目前大部分还是上传JSON格式数据。当后端需要接收JSON格式数据处理的时候,可以采用这种格式来测试。
例Content-Type: application/json
POST /v1/animal HTTP/1.1
Host: api.example.org
Accept: application/json
Content-Type: application/json
Content-Length: 24
{
"name": "Gir",
"animalType": "12"
}
2.Content-Type: application/x-www-form-urlencoded (浏览器POST表单用的格式),是form表单默认的encType,form表单会将表单内的数据转换为键值对,这种格式不能上传文件。
POST /login HTTP/1.1
Host: example.com
Content-Length: 31
Accept: text/html
Content-Type: application/x-www-form-urlencoded
username=root&password=Zion0101
3.form-data :就是form表单中的multipart/form-data,会将表单数据处理为一条信息,用特定标签符将一条条信息分割开,而这个文件类型通常用来上传二进制文件。