REST 是Representational State Transfer的缩写,翻译是”表现层状态转化”。 可以 总结为一句话:REST是所有Web应用都应该遵守的架构设计指导原则。
面向资源是REST明显的特征,对于同一个资源的一组不同的操作。资源是服务器 上一个可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。REST要 求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操 作。
7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS
1、GET:表示获取,安全且幂等。
2、POST:表示创建资源,不安全且不幂等,因为一次请求添加一份新资源,二次请求则添加了两份新资源,多次请求会产生不同的结果。
3、PUT:表示更新资源,不安全但幂等。
4、DELETE:表示不安全但幂等。
总结:GET是安全的,其他情况都是不安全的;POST是不幂等,其他情况都是幂等。
状态码:
1、200(OK)- 如果现有资源已被更改。
2、201(created)- 如果新资源被创建。
3、202(accepted)- 已接受处理请求但尚未完成(异步处理)
4、301(Moved Permanently)- 资源的URI被更新
5、303(See Other)- 其他(如,负载均衡)
6、400(bad request)- 指代坏请求
7、404(not found)- 资源不存在
8、406(not acceptable)- 服务端不支持所需表示
9、409(conflict)- 通用冲突
10、412(Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)
11、415(unsupported media type)- 接受到的表示不受支持
12、500(internal server error)- 通用错误响应
13、502Bad Gateway错误、504 Bad Gateway timeout 网关超时。
14、503 (Service Unavailable)- 服务当前无法处理请求,通常,这只是暂时状态,比如线程池满了。