RESTful Web APIs中文版(2014年電子工業出版社出版的圖書)

RESTful Web APIs中文版(2014年電子工業出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《RESTful Web APIs中文版》是2014年電子工業出版社出版的圖書,作者是趙震一、李哲。

基本介紹

  • 中文名: RESTful Web APIs中文版
  • 作者:趙震一、李哲
  • 出版社: 電子工業出版社
  • 出版時間:2014年
  • 頁數:404 頁
  • 定價:79 元
  • 開本:16 開
  • ISBN: 9787121231155  
內容簡介,圖書目錄,

內容簡介

本書是針對RESTful API的實用指南,通過展示各種用來創建高可用套用的強大工具,講解 REST的深層原理,以及介紹基於超媒體API的策略,使讀者得以在將上述內容融會貫通後,設計出讓客戶高度滿意的RESTful的web API。本書極具權威性與前瞻性,既代表了API領域的最前沿趨勢,也覆蓋了API領域的最重要實踐。

圖書目錄

序 ................................................................................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
x | 第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
| xi
超媒體的作用 ......................................................................................................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
xii | 第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
| xiii
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
| xv
純超媒體格式 .................................................................................................... 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
xvi | 部分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
| xvii
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

相關詞條

熱門詞條

聯絡我們