《使用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__
《诗的时光书:当你老了》内容简介:以被艾略特誉为“当代最伟大的诗人”的叶芝开篇,这本书为读者打开了西方诗歌经典之门。作者精
AByteofPythonisabookonprogrammingusingthePythonlanguage.Itservesasatutorialorgui...
在《氢经济》一书中,畅销书作家杰瑞米・里夫金从一个独特的角度向我们展示了即将来临的商业时代。作为一个新的经济动力――将从
《恨中录》内容简介:《恨中录》囊括朝鲜王朝女性文学三大经典《癸丑日记》《仁显王后传》《恨中录》。 《癸丑日记》的故事发生
Ajaxhasrevolutionizedthewayusersinteractwithwebpagestoday.Gonearefrustratingpage...
本书作者是北宋政治家、科学家苏颂对前代天文学成果进行了全面总结,在此基础上主持研制了一座全新的天文观测和报时的仪器“水运
《天文学简史(中文版)》内容简介:史前的农夫利用天上的星辰判断季节的更替;古希腊天文学与古巴比伦天文学合流;17世纪,牛顿提
王绍强,著名设计文化出版人及设计师,三度传媒创始人,2006年创办《Design360°观念与设计》杂志并任总编辑,2003年创办《APD亚
WhilethereareseveralbooksonprogrammingforMacOSX,AdvancedMacOSXProgramming:TheBig...
《被颠覆的汽车帝国:中国汽车电商与车联网生态报告》内容简介:本书对移动互联网时代下的车企的现状及当代车企的营销活动进行了深
《灵魂之旅:中国当代文学的生存意境》内容简介:《灵魂之旅》主要针对上世纪90年代中国文学创作展开言论。作者结合当时的时代背景
《穿透式学习》内容简介:在数字时代,随着知识更迭速度的加快,学习变成了每一个职场人士必须终身面对的首要事情。高效工作的前提
《Kafka Streams实战》内容简介:Kafka Streams是Kafka提供的一个用于构建流式处理程序的Java库,它与Storm、Spark等流式处...
本集基本上以时序发展为排列次序,主要反映从1919—1949年三十年间书籍装帧的发展脉络。我没有资格研究美术或书籍装帧艺术史,至
《恐龙世界探险日记(神奇科学探险之旅)》内容简介:《恐龙世界探险日记》是“神奇科学探险之旅”丛书之一,本书选取了恐龙大家族
《走近音乐大师(第二辑)》内容简介:本书汇集了包括指挥家、钢琴家、小提琴家在内的30余位国内外著名音乐家的专访,力求从不同方
《唐前孟学史》内容简介:本书对唐前孟学史展开系统研究,分为“战国孟学史”、“秦汉孟学史”、“魏晋南北朝孟学史”三编,共十五
《口才与演讲技巧:领导脱稿演讲与即兴发言》内容简介:本书将从演讲的内容、演讲姿态、演讲声音、演讲辅助工具等多个方面全面帮助
《JavaWeb典型模块与项目实战大全(程序员典藏)》以实战开发为原则,以JavaEE主流框架整合应用及项目开发为主线,通过JavaWeb开发
《中国对外经济发展研究报告(2017)》内容简介:本书设四个专题,分别为开放型经济研究、人类命运共同体研究、"一带一路”倡议研究