rest 和 restful架构总结

2019-04-04  本文已影响0人  拉面的无聊时光

Representational State Transfer 表述性状态转移

REST是一组架构的约束和原则,符合REST原则的架构称之为RESTful架构

RESTful架构设计

1. 资源与URI

URI 设计准则

2.统一资源接口

接口应该使用标准的HTTP方法如GET,DELETE,PUT和POST,并遵循这些方法的语义,同时遵循http响应状态码

方法 幂等性 安全性
GET yes yes
HEAD yes yes
PUT yes no
POST no no
DELETE yes no
PATCH no no

2.资源的表述

资源的表述包括数据和描述数据的元数据,在http中,这主要体现在请求头中的accept 和 content-type等。例如

# Request
GET https://api.github.com/orgs/github HTTP/1.1
Accept: application/json

# Response 
HTTP/1.1 200 OK
Content:application/json;charset=utf-8

Accept可以更加丰富的表述

Accept: vnd.example-com.foo+json; version=1.0
Accept: vnd.example-com.foo+json; version=1.2
Accept: vnd.example-com.foo+json; version=2.0

3.资源的链接

超媒体即应用状态引擎,即要求在表述格式和响应内容里边加入链接来引导客户端。在 RESTful 应用程序中的超媒体

4. 状态的转移

状态应该区分应用状态和资源状态,客户端负责维护应用状态,而服务端维护资源状态。客户端与服务端的交互必须是无状态的,并在每一次请求中包含处理该请求所需的一切信息。服务端不需要在请求间保留应用状态,只有在接受到实际请求的时候,服务端才会关注应用状态。这种无状态通信原则,使得服务端和中介能够理解独立的请求和响应。

相关资料

上一篇 下一篇

猜你喜欢

热点阅读