第1章 理解超媒体 1
HTTP、MIME和超媒体 2
HTTP是传输协议 2
MIME是媒体类型标准 3
超媒体是引擎 5
使用超媒体APIs编写Web应用 6
类型封送困局 7
超媒体解决方案 10
识别超媒体:超媒体因子(H-Factors) 13
链接因子 14
控制因子 16
超媒体设计元素 19
基本格式 20
状态转移 23
领域风格 25
应用流程 28
总结 32
后续内容 33
第2章 XML超媒体 35
场景 35
设计Maze XML媒体类型 36
识别状态转移 36
选择基本设计元素 37
Maze+XML文档 38
示例数据 41
服务器代码 42
集合状态响应 43
单项状态响应 43
格子状态响应 44
退出状态响应 45
客户端代码 46
迷宫游戏示例 46
迷宫机器人示例 51
总结 56
第3章 JSON超媒体 57
场景 57
设计Collection+JSON媒体类型 58
识别状态转移 58
选择基本设计元素 59
Collection+JSON文档 60
任务应用语义 64
数据模型 65
写入模板 66
预定义查询 67
示例数据 68
任务文档 69
设计文档 69
服务器代码 70
集合状态响应 71
条目状态响应 72
查询状态表示 73
处理模板写入 75
客户端代码 77
单页界面任务示例 77
任务命令行示例 88
总结 92
第4章 HTML5超媒体 95
场景 95
设计Microblog媒体类型 96
使用HTML5表达应用领域语义 96
识别状态转移 98
选择基本设计元素 103
Microblog应用语义配置 104
示例数据 110
用户文档 111
消息文档 111
关注文档 111
设计文档 111
服务器代码 113
验证用户 114
注册新用户 115
消息响应 117
用户响应 119
客户端代码 122
POSH客户端 123
Ajax风格的QuoteBot客户端 126
总结 134
第5章 为超媒体设计编写文档 135
要求、遵从性与RFC 2119 135
RFC 2119关键词 136
使用RFC 2119关键词编写的示例文档 137
定义遵从性 137
为媒体类型设计编写文档 138
一般布局安排 138
为XML设计编写文档 143
为JSON设计编写文档 144
为HTML设计编写文档 146
为应用领域特定信息编写文档 148
发布媒体类型设计 152
媒体类型的扩展与版本控制 152
扩展 153
版本化 154
注册媒体类型与链接关系 157
媒体类型 157
链接关系类型 159
设计与实现技巧 162
Joshua Bloch总结的良好的API所具有的特征 162
Roy Fielding的超文本API准则 163
Jon Postel的健壮性原则 164
其他考虑 164
后记 167
附录A 参考文献 169
附录B 补充阅读 175
附录C Maze+XML媒体类型 177
附录D Collection+JSON媒体类型 185
附录E 微博HTML语义配置 197
附录F IANA媒体类型注册文档 207
附录G IETF链接关系互联网草案 209
附录H 本书所用源代码、软件及其安装说明 215