《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

本圖書信息來源:互動出版網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM