理解 RESTful 架构 - 阮一峰
RESTful API 设计指南 - 阮一峰
RESTful API 最佳实践 - 阮一峰
Table of Contents
HTTP Methods
GET (SELECT) : 读取
POST (CREATE) : 新建
PUT (UPDATE) : 更新
PATCH (UPDATE) : 部分更新
DELETE (DELETE) : 删除
不常用的 http methods
HEAD : 获取资源的元数据
OPTIONS : 获取信息,关于资源的哪些属性是客户端可以改变
HTTP Status Codes
1xx : 相关信息
2xx : 操作成功
3xx : 重定向
4xx : 客户端错误
5xx : 服务器错误
example
200 OK
- [GET/PUT/PATCH] : 获取或更新数据成功201 Created
- [POST] : 新建数据成功202 Accepted
- [*] : 表示服务器已经收到请求,但是还未处理,未来再进行处理(异步操作)204 No Content
- [DELETE] : 删除数据成功400 Bad Request
- [POST/PUT/PATCH] : 服务器不理解客户端的请求,未做任何处理401 Unauthorized
: 用户未提供身份验证凭据,或者没有通过身份验证(没有权限)403 Forbidden
: 用户通过了身份验证,但是不具有访问资源所需的权限(权限不足)404 Not Found
: 所请求的资源不存在,或不可用405 Method Not Allowed
: 用户已经通过身份验证,但是所用的 HTTP 方法不在他的权限之内406 Not Acceptable
- [GET] : 服务器没有请求头(Accept headers)中指定的资源格式410 Gone
- [GET] : 所请求的资源已从这个地址转移,不再可用415 Unsupported Media Type
: 客户端发送的资源,不是服务器指定的资源格式(与 406 相反)422 Unprocessable Entity
- [POST/PUT/PATCH] : 请求格式正确,但由于语义错误而无法遵循500 Internal Server Error
: 服务器错误503 Service Unavailable
: 服务器无法处理请求,一般用于网站维护状态