oohcode

$\bigodot\bigodot^H \rightarrow CODE$

chapter7-12:REST章节总结

第七章:一个服务实现

本章主要是根据前面的给出的一些介绍和原则进行,用ROR对其进行一个简单的实现。其中最重要的是作者分析需求的过程以及如何根据这些需求与ROA架构进行融合。本章是设计ROA服务步骤的具体实践过程,是对第六章的一个继承。

第八章:REST和ROA最佳实践

本章主要讲REST和ROA的实现过程中遇到的一些问题,以及如何应对这些问题:

  • GET请求与HEAD请求是安全的,它们不应导致服务器状态发生改变。
  • GET、HEAD、PUT与DELETE请求应该是幂等的,想一个URL发送多次应该与只做过一次请求的效果一样。
  • POST既不是安全的也不是幂等的。
  • 遇到不支持PUT或DELETE请求的的情况,要用重载的POST请求来实现。
  • HTTP异步操作可以通过返回状态码202告诉客户端已接受到请求,正在等待处理
  • HTTP如何实现事务操作的过程比较复杂。
  • 复杂请求遵循的原则是:如果无法用统一接口适应多个动作,那就把它本身暴露为资源。
  • URL的设计要考虑到新旧版本的更迭。

其它涉及到HTTP缓存和认真等是HTTP本身的特性,不在这里介绍了。

第九章:服务的技术构件

本章第一部分是介绍在使用rest 服务是数据的表示方式,这不再说了,第二部分是如何定义请求与返回状态码。第三部分结束了WADL这个web应用描述语言,类似于SOAP的WSDL语言但它是基于REST的,虽然用法上感觉差不多,但其实是有着本质的区别的,我的理解是:WSDL和WADL都是为了简化编程,但是WSDL是根据SOAP的风格规定了调用的函数,传递的参数等,而WSDL则是遵循REST风格,规定了请求的方法、地址及请求的参数。

第十章:面向资源的架构VS大Web服务