扩展技术归途计划REST

RESTful Web服务架构标准

2017-04-11  本文已影响122人  陈钢镚学财

脑图


RESTful

目录


  1. 什么是RESTful

  2. HTTP方法

  3. 清晰的RESTful API

  4. RESTful 消息

  5. RESTful URI

  6. RESTful 会话

什么是RESTful


HTTP 方法


清晰的RESTful API


RESTful API

如图,操作类型中,只读指不会更改资源,幂等指多次执行产生的影响与与第一次执行产生的影响是一样的,N/A在表格中,可理解为 / 即划掉此格,不用理会此格

这里顺便解释一个概念:幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。

REST服务器对资源的表现形式应该是包容的,即使用什么格式传递数据,应该由客户端来指定:有客户端要xml而有的客户端要json

RESTful消息


在REST服务中,HTTP请求与响应就是作为消息传递的技术
一个REST消息包含消息数据和元数据(为描述数据的数据)

HTTP Request
Verb(动作) 表明HTTP方法,如GET、POST等
URI 表示服务器上资源的统一资源标识符
HTTP VERSION (http版本) 如 http v1.1
请求头,包含HTTP请求消息的元数据,它是键值对(key-value),比如客户端类型
请求体,消息内容和要求的REST服务器返回资源的表示形式
HTTP Response
Response Code(状态/响应码),表明请求资源的服务器状态,比如404 500等
HTTP VERSION http版本
响应头 返回响应的元数据 如服务器类型等,也是键值对
响应体 以客户端想要的资源表现形式返回资源

RESTful API


RESTful web 服务的URI(统一资源标识符)定义规则

Verb规则

RESTful 会话


RESTful基于HTTP,是无状态的,想要保持会话,则客户端传递会话标识符,服务端保存会话标识符。就像Session和Cookie。

无状态的优势:

RESTful 客户端缓存


当获取一个资源的时候,客户端应根据服务器返回的响应头中所指定的方式,以决定是否缓存资源,或者以何种方式缓存资源。

一个响应头可能包含的内容:

Cache-Control的取值:

RESTful web服务安全性


  1. 验证来自客户端的所有输入,这可以避免注入攻击。
  2. 使用会话机制,对客户端此次请求进行权限认证。
  3. URL应避免敏感数据。
  4. 合理使用HTTP Verb,比如GET方法,不应该能够删除数据。
  5. 验证XML/JSON数据是否合法正常
  6. 合理正确的使用HTTP错误消息,比如403、500等

HTTP常见状态码:

状态码

结语


RESTful是一个web服务的架构标准,后端开发人员可以按照这个标准来实现API,而终端开发人员,同样可以用这个标准来使用API。
标准的存在,就是为了统一双方的约定,就好比一个接口,不论你用json返回数据还是xml返回数据,它都没有必然的对错,只要开发组的成员约定好,同时返回两种格式也行(RESTful的思想,也是这样)
一个广泛使用的标准,可以减少开发者之间的交流成本,也可以让一些新入职的员工能够更快适应项目。

本文出自半醒的狐狸博客

上一篇 下一篇

猜你喜欢

热点阅读