《RESTful Web Services Cookbook 中文版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)沙布·阿拉马拉尤著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121143908
  • 页数:299 页
图书介绍:REST是一种网络软件架构设计风格。REST认为网络就是一个资源(Resource)的集合。用户(或网络应用程序)可以通过HTTP协议与某个网络应用程序交互——获取(GET)、更改(UPDATE)、建立(CREATE)或者删除(DELETE)其内部的Resource。借助REST架构的理念,可以实现机器与机器的交互。本书包括了50个设计REST架构的技巧,其内容不受编程语言限制,适合所有的程序员阅读。

第1章 使用统一接口 1

1.1如何保持交互的可见性 2

1.2何时需要权衡可见性 4

1.3如何维护应用程序状态 6

1.4如何在服务器端实现安全和幂等的方法 9

1.5如何在客户端处理安全和幂等方法 12

1.6何时使用GET方法 13

1.7何时使用POST方法 15

1.8 如何使用POST方法创建资源 17

1.9何时使用PUT方法创建新资源 19

1.10如何使用POST方法实现异步任务 20

1.11如何使用DELETE方法实现异步删除 23

1.12何时使用自定义HTTP方法 24

1.13何时及如何使用自定义HTTP标头 26

第2章 识别资源 29

2.1如何从领域名词中识别资源 30

2.2如何选择资源粒度 31

2.3如何将资源组织为集合 32

2.4何时将资源合并为复合资源 35

2.5如何支持计算或处理函数 37

2.6何时及如何使用控制器来操作资源 40

第3章 设计表述 45

3.1如何使用实体头来注解表述 46

3.2如何解释实体头 50

3.3如何避免字符编码不匹配 51

3.4如何选择表述格式和媒体类型 52

3.5如何设计XML表述 56

3.6如何设计JSON表述 58

3.7如何设计集合表述 59

3.8如何保持同构的集合 61

3.9如何在表述中使用可移植的数据格式 63

3.10何时使用实体标识符 65

3.11如何在表述中编码二进制数据 66

3.12何时以及如何提供HTML表述 68

3.13如何返回错误 70

3.14如何在客户端处理错误 74

第4章 设计URI 77

4.1如何设计URI 77

4.2如何将URI用做模糊标识符 81

4.3如何让客户端将URI视为模糊标识符 83

4.4如何保持酷的URI 85

第5章Web链接 88

5.1如何在XML表述中使用链接 89

5.2如何在JSON表述中使用链接 92

5.3何时以及如何使用链接标头 93

5.4如何分配链接关系类型 94

5.5如何使用链接来管理应用程序的流程 97

5.6如何处理临时URI 101

5.7何时以及如何使用URI模板 103

5.8如何在客户端使用链接 105

第6章Atom和AtomPub 108

6.1如何利用Atom建模资源 109

6.2何时使用Atom 113

6.3如何使用AtomPub服务和分类文档 117

6.4如何针对Feed和Entry资源使用AtomPub 119

6.5如何使用媒体资源 122

第7章 内容协商 125

7.1如何标明客户端偏好 126

7.2如何实现媒体类型协商 128

7.3如何实现语言协商 129

7.4如何实现字符编码协商 131

7.5如何支持压缩 132

7.6何时以及如何发送Vary头 133

7.7如何处理协商失败 134

7.8如何使用代理驱动的内容协商 136

7.9何时支持服务器驱动的协商 137

第8章 查询 139

8.1如何针对查询设计URI 139

8.2如何设计查询响应 142

8.3如何支持有大量输入的查询请求 144

8.4如何存储查询 146

第9章Web缓存 149

9.1如何设置过期缓存头 150

9.2何时设置过期缓存头 153

9.3何时以及如何在客户端使用过期缓存头 156

9.4如何支持复合资源的缓存 157

9.5如何保持新鲜且温暖的缓存 158

第10章 条件请求 161

10.1如何生成Last-Modified和ETag头 163

10.2如何在服务器端实现条件GET请求 164

10.3如何从客户端提交条件GET和HEAD请求 167

10.4如何在服务器端实现条件PUT请求 169

10.5如何在服务器端实现条件DELETE请求 173

10.6如何从客户端发起无条件GET请求 175

10.7如何从客户端提交条件PUT和DELETE请求 176

10.8如何使POST请求条件化 178

10.9如何生成一次性URI 181

第11章 其他内容 184

11.1如何复制资源 185

11.2如何合并资源 187

11.3如何移动资源 189

11.4何时使用WebDAV方法 191

11.5如何支持跨服务器的操作 193

11.6如何获取资源的快照 195

11.7如何撤销资源更新 198

11.8如何为部分更新提炼资源 200

11.9如何使用PATCH方法 203

11.10如何批量处理相似的资源 206

11.11如何触发批量操作 209

11.12何时使用POST来合并多个请求 211

11.13如何支持批量请求 215

11.14如何支持事务 217

第12章 安全 220

12.1如何使用基本身份验证来验证客户端 221

12.2如何使用摘要身份验证来验证客户端 224

12.3如何使用三方OAuth 226

12.4如何使用两方OAuth 232

12.5如何处理URI中的敏感信息 235

12.6如何维护表述的机密性与完整性 237

第13章 可扩展性与版本控制 239

13.1如何维持URI的兼容性 240

13.2如何维持XML和JSON表述的兼容性 242

13.3如何扩展Atom 245

13.4如何维持链接的兼容性 249

13.5如何实现支持可扩展性的客户端 250

13.6何时需要版本化 251

13.7如何版本化RESTful Web服务 252

第14章 服务发现 256

14.1如何编写RESTful Web服务的文档 256

14.2如何使用OPTIONS 259

附录A辅助读物 261

附录B REST概述 265

附录CHTTP方法 268

附录D Atom Syndication Format 273

附录E链接关系类型 279

索引 287