zoukankan      html  css  js  c++  java
  • 《RESTful Web APIs中文版》

    《RESTful Web APIs中文版》

    基本信息

    原书名:RESTful Web APIs

    原出版社: O'Reilly Media

    作者: Leonard Richardson    Mike Amundsen   

    译者: 赵震一 李哲

    出版社:电子工业出版社

    ISBN:9787121231155

    上架时间:2014-6-11

    出版日期:2014 年6月

    开本:16开

    页码:382

    版次:1-1

    所属分类:计算机 > 计算机网络 > Web Server > WebServer

    更多关于》》》《RESTful Web APIs中文版》

    编辑推荐

    近年来,REST的流行导致了各种“RESTful”API的巨大增长,但是这些API却错失了很多架构的好处。通过这本实用指南,你将可以学习到如何设计可用的,并能随着时间不断进化的REST API。通过专注于跨多种领域的解决方案,本书向你展示了该如何使用那些为世界上最成功的分布式计算系统——万维网而设计的工具,从而来 创建强大且安全的应用。你将探索REST背后的概念,学习多种可用于创建基于超媒体API的策略,并在本书一步步的指导下整合你所学到的所有内容,从而去设计RESTful的web API。

       √ 审查了包括集合模式和纯超媒体在内的API设计策略。

       √ 理解如何将超媒体与表述整合进一个一致的API。

       √ 探索XMDP和ALPS profile格式是如何帮助你应对web API的“语义挑战”的。

       √ 学习近二十多种标准化的超媒体数据格式。

       √ 应用在API实现中使用HTTP的最佳实践。

       √ 使用JSON-LD标准及其他Linked Data方法来创建web API。

       √ 理解在嵌入式系统使用REST的CoAP协议。

    内容简介

        书籍

        计算机书籍

    《restful web apis中文版》是针对restful api的实用指南,通过展示各种用来创建高可用应用的强大工具,讲解rest的深层原理,以及介绍基于超媒体api的策略,使读者得以在将上述内容融会贯通后,设计出让客户高度满意的restful的web api。《restful web apis中文版》极具权威性与前瞻性,既代表了api领域的最前沿趋势,也覆盖了api领域的最重要实践。

    《restful web apis中文版》适合所有从事web开发和架构工作的读者阅读参考。

    媒体评论

      “这是一本了不起的书!《RESTful Web APIs》覆盖了当今API领域最重要的趋势和实践。”

      ——John Musser ProgrammableWeb创始人

    作译者

    Leonard Richardson, 《Ruby Cookbook》 (O’Reilly)一书的作者,曾 创建了包括Beautiful Soup在内 的多个开源代码库。Mike Amundsen 是包括《Building Hypermedia APIs with HTML5 and Node》(O’Reilly) 在内的十几本为人所称道的技术图书的作者。

    Sam Ruby 是W3C HTML工作组的联合主席,同时也是IBM新 兴技术组的一名高级技术人员。

    目录

    《restful web apis中文版》

    序 xix

    前言 xxi

    第1 章 网上冲浪 1

    场景1 :广告牌 2

    资源和表述 2

    可寻址性 3

    场景2 :主页 3

    短会话(short session) 5

    自描述消息(self-descriptive message) 5

    场景3 :链接 6

    标准方法 8

    场景4 :表单和重定向 9

    应用状态(application state) 11

    资源状态(resource state) 12

    连通性(connectedness) 13

    与众不同的web 14

    web api 落后于web 15

    语义挑战 16

    第2 章 一个简单的api 17

    http get :安全的投注 18

    如何读取http 响应 19

    json 20

    collection+json 21

    向api 写入数据 23

    http post: 资源是如何生成的 24

    由约束带来解放 26

    应用语义所产生的语义鸿沟 27

    第3 章 资源和表述 29

    万物皆可为资源 30

    表述描述资源状态 30

    往来穿梭的表述 31

    资源有多重表述 32

    http 协议语义(protocol semantics) 33

    get 35

    delete 36

    幂等性(idempotence) 36

    post-to-append 37

    put 38

    patch 39

    link 和unlink 40

    head 40

    options 41

    overloaded post 41

    应该使用哪些方法? 42

    第4 章 超媒体 45

    将html 作为超媒体格式 46

    uri 模板 49

    uri vs url 50

    link 报头 51

    超媒体的作用 52

    引导请求 52

    对响应做出承诺 54

    工作流控制 55

    当心冒牌的超媒体! 56

    语义挑战:我们该怎么做? 57

    第5 章 领域特定设计 59

    maze+xml :领域特定设计 60

    maze+xml 是如何工作的 61

    链接关系 62

    访问链接来改变应用状态 64

    迷宫集合 65

    maze+xml 是api 吗? 67

    客户端1 :游戏 68

    maze+xml 服务器 72

    客户端2 :地图生成器 74

    客户端3 :吹牛者 76

    客户端做自己想要做的事 77

    对标准进行扩展 77

    地图生成器的缺陷 80

    修复(以及修复后的瑕疵) 81

    迷宫的暗喻 83

    解决语义鸿沟 83

    领域特定设计在哪里? 83

    最终的奖赏 84

    报头中的超媒体 84

    抄袭应用语义 84

    如果找不到相关的领域特定设计,不要自己制造 86

    api 客户端的种类 86

    人类驱动的客户端 86

    自动化客户端 87

    第6 章 集合模式(collection pattern) 91

    什么是集合? 93

    链向子项的集合 93

    collection+json 94

    子项的表示 95

    写入模板(write template) 98

    搜索模板 99

    一个(通用的)集合是如何工作的 100

    get 101

    post-to-append 101

    put 和patch 101

    delete 102

    分页 102

    搜索表单 103

    atom 发布协议(atompub) 103

    atompub 插件标准 105

    为什么不是每个人都选择使用atompub ? 106

    语义挑战:我们应该怎么做? 107

    第7 章 纯- 超媒体设计 111

    为什么是html? 111

    html 的能力 112

    超媒体控件 112

    应用语义插件 113

    微格式 115

    hmaze 微格式 116

    微数据 118

    改变资源状态 119

    为表单添加应用语义 121

    与超媒体相对是普通媒体 125

    html 的局限性 126

    拯救者html5? 127

    超文本应用语言 128

    siren 131

    语义挑战:我们现在要怎么做? 133

    第8 章 profile 135

    客户端如何找寻文档? 136

    什么是profile ? 137

    链接到profile 137

    profile 链接关系 137

    profile 媒体类型参数 138

    特殊用途的超媒体控件 139

    profile 对协议语义的描述 139

    profile 对应用语义的描述 140

    链接关系 141

    不安全的链接关系 142

    语义描述符 142

    xmdp :首个机器可读的profile 格式 143

    alps 146

    alps 的优势 150

    alps 并不是万金油 152

    json-ld 153

    内嵌的文档 156

    总结 158

    第9 章 api 设计流程 161

    两个步骤的设计流程 161

    七步骤设计流程 162

    第1 步:罗列语义描述符 163

    第2 步:画状态图 164

    第3 步:调整命名 168

    第4 步:选择一种媒体类型 172

    第5 步:编写profile 173

    第6 步:实现 174

    第7 步:发布 174

    实例:you type it, we post it 177

    罗列语义描述符 177

    画状态图 178

    调整名称 179

    选择一种媒体类型 180

    编写profile 181

    设计建议 182

    资源是实现的内部细节 182

    不要掉入集合陷阱 183

    不要从表述格式着手 184

    url 设计并不重要 184

    标准名称优于自定义名称 186

    设计媒体类型 187

    当你的api 改变时 189

    为现有api 添加超媒体 194

    改进基于xml 的api 195

    值不值得? 196

    alice 的第二次探险 196

    场景1 :没有意义的表述 196

    场景2 :profile 198

    alice 明白了 200

    第10 章 超媒体动物园 203

    领域特定格式 204

    maze+xml 204

    opensearch 205

    问题细节文档 205

    svg 206

    voicexml 208

    集合模式的格式 210

    collection+json 211

    atom 发布协议 211

    odata 212

    纯超媒体格式 219

    html 219

    hal 220

    link 报头 222

    location 和content-location 报头 222

    url 列表 223

    json 主文档(home documents) 223

    link-template 报头 224

    wadl 225

    xlink 226

    xforms 227

    geojson :一个令人困惑的类型 228

    geojson 没有通用的超媒体控件 230

    geojson 没有媒体类型 232

    从geojson 学习到的经验 233

    语义动物园 234

    链接关系的iana 注册表 234

    微格式wiki 235

    来自微格式wiki 的链接关系 236

    第11 章 api 中的http 241

    新http/1.1 规范 242

    响应码 242

    报头 243

    表述选择 243

    内容协商(content negotiation) 243

    超媒体菜单 244

    标准url(canonical url) 245

    http 性能 246

    缓存(caching) 246

    条件get 请求(conditional get) 247

    look-before-you-leap 请求 249

    压缩 250

    部分get 请求(partial get) 250

    pipelining 251

    避免更新丢失问题 252

    认证 254

    www-authenticate 报头和authorization 报头 255

    basic 认证 255

    oauth 1.0 256

    oauth 1.0 的缺点 259

    oauth 2.0 260

    何时不采用oauth 261

    http 扩展 261

    patch 方法 262

    link 和unlink 方法 262

    webdav 263

    http 2.0 264

    第12 章 资源描述和linked data 267

    rdf 268

    rdf 将url 作为uri 对待 270

    什么时候使用描述策略 271

    资源类型 273

    rdf schema 274

    linked data 运动 277

    json-ld 278

    将json-ld 作为一种表述格式 279

    hydra 280

    xrd 家族 285

    xrd 和jrd 285

    web 主机元数据文档 286

    webfinger 287

    本体动物园(ontology zoo) 289

    schema.org rdf 289

    foaf 290

    vocab.org 290

    总结:描述策略生机盎然! 290

    第13 章 coap: 嵌入式系统的rest 293

    coap 请求 294

    coap 响应 294

    消息种类 295

    延迟响应(delayed response) 296

    多播消息(multicast message) 296

    core link format 297

    结论:非http 协议的rest 298

    附录a 状态法典 301

    附录b http 报头法典 325

    附录c 为api 设计者准备的fielding 论文导读 349

    词汇表 365

    本图书信息来源:互动出版网

  • 相关阅读:
    web应用/http协议/web框架
    算法-排序-1.冒泡排序/2.选择排序/3.插入排序
    算法-基础和查找-1.汉诺塔/2.顺序查找/3.二分查找/4.顺序查找和二分查找的比较
    前端开发
    前端开发
    前端开发
    前端开发
    数据库
    LeetCode : Add Binary
    LeetCode : Length of Last Word
  • 原文地址:https://www.cnblogs.com/china-pub/p/3830161.html
Copyright © 2011-2022 走看看