Restful 架构
什么是 restful
restful 是一种软件架构风格、设计风格,但不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
统一资源接口
restful 架构应该遵循统一接口原则。统一接口包含了一组受限的预定义的操作,不管是什么样的资源,都是通过使用相同的接口进行资源的访问。接口应该使用标准的 HTTP 方法如 GET,POST,并遵循这些方法的语义。如果按照 HTTP 方法的语义来暴露资源,那么接口将会拥有安全性和幂等性的特性,例如 GET 和 HEAD 请求都是安全的, 无论请求多少次,都不会改变服务器状态。而 GET、HEAD、PUT 和 DELETE 请求都是幂等的,无论对资源操作多少次, 结果总是一样的,后面的请求并不会产生比第一次更多的影响。
状态的转移
无状态通信原则,并不是说客户端应用不能有状态,而是指服务端不应该保存客户端状态。
应用状态的转移
状态转移到这里已经很好理解了, "会话"状态不是作为资源状态保存在服务端的,而是被客户端作为应用状态进行跟踪的。客户端应用状态在服务端提供的超媒体的指引下发生变迁。服务端通过超媒体告诉客户端当前状态有哪些后续状态可以进入。
这些类似"下一页"之类的链接起的就是这种推进状态的作用——指引你如何从当前状态进入下一个可能的状态
版权声明: 本文为 InfoQ 作者【代码狗】的原创文章。
原文链接:【http://xie.infoq.cn/article/0222101b68314300408b0bd37】。文章转载请联系作者。
评论 (1 条评论)