序
前言
第1章:Programmable Web及其分类
Programmable Web的分类
HTTP:信封里的文档
方法信息
作用域信息
相到嬜的服务架构
Programmable Web涉及的技术
其他术语
第2章:编写Web服务客户端
Web服务就是网站
del,icio.us:示例应用
用HTTP库发送请求
用XML解析器处理响应
JSON Parsers:处理序列化数据
WADL简化客户端的编写
第3章:REST式服务有什么特别不同?
介绍Simple Storage Service
S3的面向对象设计
资源
HTTP响应代码
一个S3客户端
对请求进行签名及访问控制
使用S3客户端库
用ActiveResource创建透明的客户端
最后的话
第4章:面向资源的架构
面向资源的架构?
什么是资源?
URIs
可寻址性
无状态性
表示
链接与连通性
统一接口
结束了!
第5章:设计只读的面向资源的服务
资源设计
根据需求创建只读资源
规划数据集
把数据集划分为资源
命名资源
设计表示
把资源相互链接起来
HTTP响应
小结
第6章:设计可读写的面向资源的服务
将用户账户用为资源
自定义地点
回顾地图服务
第7章:一个服务实现
一个社会性书签Web服务
规划数据集
资源设计
设计来自客户端的表示
设计发给客户端的表示
把资源相互链接起来
会有哪些典型的事件经过?
可能出现哪些错误情况?
控制器代码
模型代码
客户端需要知道什么?
第8章:REST和ROA最佳实践
面向资源的基础
一般的ROA设计步骤
可寻址性
状态与无状态性
连通性
统一接口
一些重要方面
资源设计
URI设计
返回的表示
收到的表示
服务的版本化
永久URIs vs可读的URIs
HTTP的标准特性
仿造PUT和DELETE
Cookies的问题
用户凭什么信任HTTP客户端?
第9章:服务的技术构件
表示格式
预定义的控制流
超媒体技术
第10章:面向资源的架构VS大Web服务
大Web服务试图解决哪些问题?
SOAP
WSDL
UDDI
安全性
可靠消息传递
事务
BPEL、ESB和SOA
小结
第11章:将Ajax应用作为REST客户端
从AJAX到Ajax
Ajax架构
一个del.icio.us示例
Ajax的优点
Ajax的缺点
REST更好
发送请求
处理响应
JSON
不要私享REST的好处
跨浏览器问题和Ajax库
颠覆浏览器安全模型
第12章:REST式服务框架
Ruby on Rails
Restlet
Django
小结
附录A:REST相关资源与REST式资源
标准与指南
你可以使用的服务
附录B:42种常见的HTTP响应代码
三至七种最基本的响应代码
1xx:通知
2xx:成功
3xx:重定向
4xx:客户端错误
5xx:服务器端错误
附录C:常见的HTTP报头
标准报头
非标准报头
索引