失效链接处理 |
RESTful Web APIs PDF 下载
转载自:https://download.csdn.net/download/ivan_shu/7821923
本站整理下载:
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/23493088.html
相关截图:
资料简介:
《RESTful Web APIs中文版》是针对RESTful API的实用指南,通过展示各种用来创建高可用应用的强大工具,讲解REST的深层原理,以及介绍基于超媒体API的策略,使读者得以在将上述内容融会贯通后,设计出让客户高度满意的RESTful的web API。《RESTful Web APIs中文版》极具权威性与前瞻性,既代表了API领域的最前沿趋势,也覆盖了API领域的最重要实践。
《RESTful Web APIs中文版》适合所有从事Web开发和架构工作的读者阅读参考。
资料目录:
序 xix 前言 xxi 第1章 网上冲浪 场景1 :广告牌 资源和表述 可寻址性 场景2 :主页 短会话(Short Session) 自描述消息(self-descriptive message) 场景3 :链接 标准方法 场景4 :表单和重定向 应用状态(Application State) 资源状态(resource state) 连通性(connectedness) 与众不同的Web Web API 落后于Web 语义挑战 第2章 一个简单的API HTTP GET :安全的投注 如何读取HTTP 响应 JSON Collection+JSON 向API 写入数据 HTTP POST: 资源是如何生成的 由约束带来解放 应用语义所产生的语义鸿沟 第3章 资源和表述 万物皆可为资源 表述描述资源状态 往来穿梭的表述 资源有多重表述 HTTP 协议语义(Protocol Semantics) GET DELETE 幂等性(Idempotence) POST-to-Append PUT PATCH LINK 和UNLINK HEAD OPTIONS Overloaded POST 应该使用哪些方法? 第4章 超媒体 将HTML 作为超媒体格式 URI 模板 URI vs URL Link 报头 超媒体的作用 引导请求 对响应做出承诺 工作流控制 当心冒牌的超媒体! 语义挑战:我们该怎么做? 第5章 领域特定设计 Maze+XML :领域特定设计 Maze+XML 是如何工作的 链接关系 访问链接来改变应用状态 迷宫集合 Maze+XML 是API 吗? 客户端1 :游戏 Maze+XML 服务器 客户端2 :地图生成器 客户端3 :吹牛者 客户端做自己想要做的事 对标准进行扩展 地图生成器的缺陷 修复(以及修复后的瑕疵) 迷宫的暗喻 解决语义鸿沟 领域特定设计在哪里? 最终的奖赏 报头中的超媒体 抄袭应用语义 如果找不到相关的领域特定设计,不要自己制造 API 客户端的种类 人类驱动的客户端 自动化客户端 第6章 集合模式(Collection Pattern) 什么是集合? 链向子项的集合 Collection+JSON 子项的表示 写入模板(Write Template) 搜索模板 一个(通用的)集合是如何工作的 GET POST-to-Append PUT 和PATCH DELETE 分页 搜索表单 Atom 发布协议(AtomPub) AtomPub 插件标准 为什么不是每个人都选择使用AtomPub ? 语义挑战:我们应该怎么做? 第7章 纯- 超媒体设计 为什么是HTML? HTML 的能力 超媒体控件 应用语义插件 微格式 hMaze 微格式 微数据 改变资源状态 为表单添加应用语义 与超媒体相对是普通媒体 HTML 的局限性 拯救者HTML5? 超文本应用语言 Siren 语义挑战:我们现在要怎么做? 第8章 Profile 客户端如何找寻文档? 什么是Profile ? 链接到Profile Profile 链接关系 Profile 媒体类型参数 特殊用途的超媒体控件 Profile 对协议语义的描述 Profile 对应用语义的描述 链接关系 不安全的链接关系 语义描述符 XMDP :首个机器可读的Profile 格式 ALPS ALPS 的优势 ALPS 并不是万金油 JSON-LD 内嵌的文档 总结 第9章 API 设计流程 两个步骤的设计流程 七步骤设计流程 第1步:罗列语义描述符 第2步:画状态图 第3步:调整命名 第4步:选择一种媒体类型 第5步:编写Profile 第6步:实现 第7步:发布 实例:You Type It, We Post It 罗列语义描述符 画状态图 调整名称 选择一种媒体类型 编写Profile 设计建议 资源是实现的内部细节 不要掉入集合陷阱 不要从表述格式着手 URL 设计并不重要 标准名称优于自定义名称 设计媒体类型 当你的API 改变时 为现有API 添加超媒体 改进基于XML 的API 值不值得? Alice 的第二次探险 场景1 :没有意义的表述 场景2 :Profile Alice 明白了 第10章 超媒体动物园 领域特定格式 Maze+XML OpenSearch 问题细节文档 SVG VoiceXML 集合模式的格式 Collection+JSON Atom 发布协议 OData 纯超媒体格式 HTML HAL Link 报头 Location 和Content-Location 报头 URL 列表 JSON 主文档(Home Documents) Link-Template 报头 WADL XLink XForms GeoJSON :一个令人困惑的类型 GeoJSON 没有通用的超媒体控件 GeoJSON 没有媒体类型 从GeoJSON 学习到的经验 语义动物园 链接关系的IANA 注册表 微格式WiKi 来自微格式Wiki 的链接关系 第11章 API 中的HTTP 新HTTP/11 规范 响应码 报头 表述选择 内容协商(Content Negotiation) 超媒体菜单 标准URL(Canonical URL) HTTP 性能 缓存(Caching) 条件GET 请求(Conditional GET) Look-Before-You-Leap 请求 压缩 部分GET 请求(Partial GET) Pipelining 避免更新丢失问题 认证 WWW-Authenticate 报头和Authorization 报头 Basic 认证 OAuth OAuth 10 的缺点 OAuth 何时不采用OAuth HTTP扩展 PATCH 方法 LINK 和UNLINK 方法 WebDAV HTTP 第12章 资源描述和Linked Data RDF RDF 将URL 作为URI 对待 什么时候使用描述策略 资源类型 RDF Schema Linked Data 运动 JSON-LD 将JSON-LD 作为一种表述格式 Hydra XRD 家族 XRD 和JRD Web 主机元数据文档 WebFinger 本体动物园(Ontology Zoo) schemaorg RDF FOAF vocaborg 总结:描述策略生机盎然! 第13章 CoAP: 嵌入式系统的REST CoAP 请求 CoAP 响应 消息种类 延迟响应(Delayed Response) 多播消息(Multicast Message) CoRE Link Format 结论:非HTTP 协议的REST 附录A 状态法典 附录B HTTP 报头法典 附录C 为API 设计者准备的Fielding 论文导读 词汇表 |