REST是什么以及它的6个限制
-
是万维网软件架构
风格; -
英文:Representational State Transfer;
-
6个限制:
客户-服务器(关注点分离)无状态的(所有会话信息保存在客户端)缓存统一接口分层系统(每一层只是知道和自己相邻的一层,客户端不知道是和代理通信还是和真实服务器通信)按需代码
RESTful API
- RESTful API就是符合REST风格的API;
- RESTful API具体什么样子:
2.1基本的URI,如https://api.github.com/users2.2标准的http方法,GET,POST,PUT,PATCH2.3传输的数据媒体类型,如JSON,XML
请求设计规范
-
URI使用名词,尽量用复数,如:/users
-
URI使用嵌套表示关联关系,如:/users/gxr/repos
-
使用正确的http方法,如: post、get、patch、put、delete等
-
不符合CURD情况,如:post/action/子资源
响应设计规范
- 查询
- 状态码
- 分页
- 错误处理
- 字段过滤
安全
- https
- 鉴权(登录才可以访问接口)
- 限流(防止故意攻击)
开发者友好
- 文档
- 超媒体(链接)