使用HTML5和Node构建超媒体API

使用HTML5和Node构建超媒体API
作 者: Mike Amundsen 臧秀涛
出版社: 电子工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: HTML XML 程序设计 计算机/网络
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  具体的场景,通过3个动手实验章节,从超媒体因子和超媒体设计元素入手,用实际的代码向我们详细地演示了超媒体API的设计;最后介绍了超媒体设计的文档编写、注册与发布等内容。

内容简介

本书探讨了超媒体API 的设计,介绍了作为超媒体API 的构件块的超媒体因子,并讲解了基本格式、状态转移、领域风格和应用流程这4 种超媒体设计元素;之后作者结合具体的场景,通过3个动手实验章节,从超媒体因子和超媒体设计元素入手,用实际的代码向我们详细地演示了超媒体API 的设计;最后介绍了超媒体设计的文档编写、注册与发布等内容。

图书目录

目录

序 xi

前言 xiii

第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