《使用HTML5和Node构建超媒体API》探讨了超媒体API 的设计,介绍了作为超媒体API 的构件块的超媒体因子,并讲解了基本格式、状态转移、领域风格和应用流程这4 种超媒体设计元素;之后作者结合具体的场景,通过3个动手实验章节,从超媒体因子和超媒体设计元素入手,用实际的代码向我们详细地演示了超媒体API 的设计;最后介绍了超媒体设计的文档编写、注册与发布等内容。
《使用HTML5和Node构建超媒体API》适合系统架构师和Web 开发者阅读。
序 ................................................................................. 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__
《未来已来》内容简介:本书是全球政治、经济、金融、企业等方面的领袖人物在清华大学五道口金融学院和国家金融研究院主办的“未来
2015年下半年综合性电商平台已基本稳定,大平台出现商家拥堵现象,O2O项目遍地开花,移动互联网飞速发展,火爆一时的微商经济出现
《不变与万变:葛剑雄说国史》内容简介:复旦大学资深教授葛剑雄讲述中国历史的血脉精神,在兴衰、传承与变迁中,寻找中国历史的源
《重启:中医新解》内容简介:中医是人们在与疾病长期斗争的过程中归纳总结而得的一门医学。这门建立在元气、阴阳、五行理论之上,
《Angular从零到一》内容简介:作为一个出生于20世纪70年代的大叔,我在软件这个领域已经摸爬滚打了16年,从程序员、项目经理、产品
《Mentor高速电路板设计与仿真》以MentorEE2005SP3为基础,以具体电路为范例,详尽讲解元器件建库、原理图设计、布局、布线、仿真
《汪曾祺散文(初中部分)》内容简介:汪曾祺散文随意散漫、有时逸笔草草,实际上他绝非率尔操觚。汪曾祺重视散文,认为“写任何形
本书的第三版升级到ApachePHP和JavaScript最新的版本上。同是它还包含了关于mod_perl更为详尽的信息以及提高Web性能的方法。书中
《朱爱朝二十四节气自然笔记》内容简介:在带领孩子做自然观察和自然笔记的长期课程实践基础上,朱爱朝老师以二十四节气为序,结合
潛入!圖解王久恆啟一的圖解教室!在日本,有「職場圖解王」稱號的久恆啟一,本書中首度公開他在圖解教室裡,如何指導學生「自己
《演说思维:阿里演说内训课》内容简介:本书首开先河,凝练IP思维、有我思维、定位思维、链接思维等12大演说思维,融汇心理学、神
《WebGL编程指南》内容简介:WebGL是一项在网页上渲染三维图形的技术,也是HTML5草案的一部分。本书的主要篇幅讲解了WebGL原生API和
《企业的护城河》内容简介:众多业内人士、专家、学者联袂推荐 揭示企业如何用宽广的护城河 打造结构性竞争优势、实现长期主义的收
《Kafka Streams实战》内容简介:Kafka Streams是Kafka提供的一个用于构建流式处理程序的Java库,它与Storm、Spark等流式处...
《轻松攒够养老金》内容简介:养老要趁早,养老金怎么攒,多少够? 《轻松攒够养老金》对年轻人关心的养老金问题进行了解答: ·需
无线网状网是近年来通信领域中令人瞩目的技术,无线网状网技术在产业化方面取得了显著的成果,在标准化方面也获得了长足的进展。
嵌入式系统体系结构编程与设计(影印版) 内容简介 本书是关于嵌入式系统开发与设计的一部*新力作,介绍了嵌入式系统的硬件、操作系统、开发过程以及编程。全书系统地阐...
树莓派(RaspberryPi)是一款基于Linux系统的、只有一张信用卡大小的卡片式计算机。由于功能强大、性能出色、价格便宜等特点,树莓
《架构启示录》内容简介:本书研究传统的建筑工作与数字产品的架构工作之间有着怎样的联系,探讨了Christopher Alexander、Richard
《群体的思维:如何利用群体智慧解决工作、生活难题》无论我们是要做金融方面的决策、换个工作还是找到我们的另一半,众包都不失