出版時間:2011-9 出版社:電子工業(yè)出版社 作者:Subbu Allamaraju 頁數(shù):299 譯者:丁雪豐,常可
Tag標(biāo)簽:無
內(nèi)容概要
本書是《RESTful Web Services
Cookbook》的中文翻譯版,由Subbu Allamaraju所著。
《RESTful Web Services
Cookbook》(中文版)從實踐出發(fā),涉及設(shè)計 RESTful
Web服務(wù)的各個方面,通過問題描述、解決方案、問題討論的形式在14個章節(jié)中詳細(xì)討論了統(tǒng)一接口、資源、表述、URI、鏈接、請求、緩存、安全等諸多內(nèi)容。無論讀者是否設(shè)計過RESTful
Web服務(wù),具體使用哪種語言,都能在閱讀過程中有所收獲。本書也可作為手冊,根據(jù)具體問題描述在書中查找解決辦法。
作者簡介
作者:(美國)阿拉馬拉尤 (Subbu Allamaraju) 譯者:丁雪豐 ???合著者:李錕
書籍目錄
前言
第1章 使用統(tǒng)一接口
1.1 如何保持交互的可見性
1.2 何時需要權(quán)衡可見性
1.3 如何維護(hù)應(yīng)用程序狀態(tài)
1.4 如何在服務(wù)器端實現(xiàn)安全和冪等的方法
1.5 如何在客戶端處理安全和冪等方法
1.6 何時使用GET方法
1.7 何時使用POST方法
1.8 如何使用POST方法創(chuàng)建資源
1.9 何時使用PUT方法創(chuàng)建新資源
1.10 如何使用POST方法實現(xiàn)異步任務(wù)
1.11 如何使用DELETE方法實現(xiàn)異步刪除
1.12 何時使用自定義HTTP方法
1.13 何時及如何使用自定義HTTP標(biāo)頭
第2章 識別資源
2.1 如何從領(lǐng)域名詞中識別資源
2.2 如何選擇資源粒度
2.3 如何將資源組織為集合
2.4 何時將資源合并為復(fù)合資源
2.5 如何支持計算或處理函數(shù)
2.6 何時及如何使用控制器來操作資源
第3章 設(shè)計表述
3.1 如何使用實體頭來注解表述
3.2 如何解釋實體頭
3.3 如何避免字符編碼不匹配
3.4 如何選擇表述格式和媒體類型
3.5 如何設(shè)計XML表述
3.6 如何設(shè)計JSON表述
3.7 如何設(shè)計集合表述
3.8 如何保持同構(gòu)的集合
3.9 如何在表述中使用可移植的數(shù)據(jù)格式
3.10 何時使用實體標(biāo)識符
3.11 如何在表述中編碼二進(jìn)制數(shù)據(jù)
3.12 何時以及如何提供HTML表述
3.13 如何返回錯誤
3.14 如何在客戶端處理錯誤
第4章 設(shè)計URI
4.1 如何設(shè)計URI
4.2 如何將URI用做模糊標(biāo)識符
4.3 如何讓客戶端將URI視為模糊標(biāo)識符
4.4 如何保持酷的URI
第5章 Web鏈接
5.1 如何在XML表述中使用鏈接
5.2 如何在JSON表述中使用鏈接
5.3 何時以及如何使用鏈接標(biāo)頭
5.4 如何分配鏈接關(guān)系類型
5.5 如何使用鏈接來管理應(yīng)用程序的流程
5.6 如何處理臨時URI
5.7 何時以及如何使用URI模板
5.8 如何在客戶端使用鏈接
第6章 Atom和AtomPub
6.1 如何利用Atom建模資源
6.2 何時使用Atom
6.3 如何使用AtomPub服務(wù)和分類文件
6.4 如何針對Feed和Entry資源使用AtomPub
6.5 如何使用媒體資源
第7章 內(nèi)容協(xié)商
7.1 如何標(biāo)明客戶端偏好
7.2 如何實現(xiàn)媒體類型協(xié)商
7.3 如何實現(xiàn)語言協(xié)商
7.4 如何實現(xiàn)字符編碼協(xié)商
7.5 如何支持壓縮
7.6 何時以及如何發(fā)送Vary頭
7.7 如何處理協(xié)商失敗
7.8 如何使用代理驅(qū)動的內(nèi)容協(xié)商
7.9 何時支持服務(wù)器驅(qū)動的協(xié)商
第8章 查詢
8.1 如何針對查詢設(shè)計URI
8.2 如何設(shè)計查詢響應(yīng)
8.3 如何支持有大量輸入的查詢請求
8.4 如何存儲查詢
第9章 Web緩存
9.1 如何設(shè)置過期緩存頭
9.2 何時設(shè)置過期緩存頭
9.3 何時以及如何在客戶端中使用過期緩存頭
9.4 如何支持復(fù)合資源的緩存
9.5 如何保持新鮮且溫暖的緩存
第10章 條件請求
10.1 如何生成Last-Modified和ETag頭
10.2 如何在服務(wù)器端實現(xiàn)條件GET請求
10.3 如何從客戶端提交條件GET和HEAD請求
10.4 如何在服務(wù)器端實現(xiàn)條件PUT請求
10.5 如何在服務(wù)器端實現(xiàn)條件DELETE請求
10.6 如何從客戶端發(fā)起無條件GET請求
10.7 如何從客戶端提交條件PUT和DELETE請求
10.8 如何使POST請求條件化
10.9 如何生成一次性URI
第11章 其他內(nèi)容
11.1 如何復(fù)制資源
11.2 如何合并資源
11.3 如何移動資源
11.4 何時使用WebDAV方法
11.5 如何支持跨服務(wù)器的操作
11.6 如何獲取資源的快照
11.7 如何撤銷資源更新
11.8 如何為部分更新提煉資源
11.9 如何使用PATCH方法
11.10 如何批量處理相似的資源
11.11 如何觸發(fā)批量操作
11.12 何時使用POST來合并多個請求
11.13 如何支持批量請求
11.14 如何支持事務(wù)
第12章 安全
12.1 如何使用基本身份驗證來驗證客戶端
12.2 如何使用摘要身份驗證來驗證客戶端
12.3 如何使用三方OAuth
12.4 如何使用兩方OAuth
12.5 如何處理URI中的敏感信息
12.6 如何維護(hù)表述的機(jī)密性與完整性
第13章 可擴(kuò)展性與版本控制
13.1 如何維持URI的兼容性
13.2 如何維持XML和JSON表述的兼容性
13.3 如何擴(kuò)展Atom
13.4 如何維持鏈接的兼容性
13.5 如何實現(xiàn)支持可擴(kuò)展性的客戶端
13.6 何時需要版本化
13.7 如何版本化RESTful Web服務(wù)
第14章 服務(wù)發(fā)現(xiàn)
14.1 如何編寫RESTful Web服務(wù)的文檔
14.2 如何使用OPTIONS
附錄A 輔助讀物
附錄B REST概述
附錄C HTTP方法
附錄D Atom Syndication Format
附錄E 鏈接關(guān)系類型
索引
章節(jié)摘錄
版權(quán)頁:插圖:在任何分布式的客戶端/服務(wù)器環(huán)境中管理變更都是很困難的。在這樣的環(huán)境中,客戶端依賴于服務(wù)器能履行自己的承諾。RESFlul Web服務(wù)也不例外,對它們而言,這包括uRI、資源、結(jié)構(gòu)體和表述的內(nèi)容、它們的格式,以及每個資源的HTTP方法。直到您開始考慮向后兼容性(backward compatibility)之后,對服務(wù)器的變更好像都成了有益的了。變化是向后兼容的,在修改服務(wù)器時就無須升級客戶端。客戶端會忽略您升級了服務(wù)器這一事實,繼續(xù)按原有方式進(jìn)行調(diào)用,就好像什么變化都沒發(fā)生過一樣,當(dāng)然這不包括服務(wù)器升級期間的不可用時間。還有一種兼容性被稱為向前兼容性(forward compatibility),當(dāng)有多個客戶端和服務(wù)器在不同時間點升級時,這一點是很重要的。在這種情況下,較新的客戶端可能會與老的服務(wù)器進(jìn)行交互。向前兼容性的目的是保證較新的客戶端能繼續(xù)使用老的服務(wù)器,雖然功能有所減少,但不會出現(xiàn)問題。您的應(yīng)用程序中僅需要考慮向后兼容性,還是需要同時考慮向后和向前兼容性取決于您的操作環(huán)境。本章描述的內(nèi)容能幫助您處理好這兩種兼容性。讓您能夠保持兼容性的特性是可擴(kuò)展性,這是為未來的變化預(yù)留余地的設(shè)計過程。
媒體關(guān)注與評論
“無論您打算使用何種語言構(gòu)建RESTfuI服務(wù),本書都是一本極佳的指南。內(nèi)容豐富、考慮周到,囊括了與服務(wù)設(shè)計與實現(xiàn)相關(guān)的很多最佳實踐?!薄 狤ben Hewitt架構(gòu)師 “Java SOA Cookbook”作者
編輯推薦
REST設(shè)計哲學(xué)激起了Web與企業(yè)應(yīng)用開發(fā)者的無盡遐想,但用這種方式來開發(fā)真正的Web服務(wù)并非易事?!禦ESTful Web Services Cookbook(中文版)》包含了超過100個技巧。幫助您充分利用REST,HTTP和Web基礎(chǔ)設(shè)施。無論使用何種編程語言和開發(fā)框架,您都將了解到如何為客戶端/服務(wù)器應(yīng)用設(shè)計滿足性能、可擴(kuò)展性、可靠性及安全目標(biāo)的。RESTful Web服務(wù)?!禦ESTful Web Services Cookbook(中文版)》的每一節(jié)都包含一到兩個問題描述,帶有簡單易學(xué)、步驟詳盡的解決方案,還有使用HTTP請求與響應(yīng)、XML、JSON和Atom片段的例子。您還將看到針對每個解決方案的實現(xiàn)指南,討論其中的利弊和權(quán)衡。了解如何設(shè)計滿足多種應(yīng)用場景的資源,成功設(shè)計表述與URI,使用鏈接與鏈接標(biāo)頭來實現(xiàn)超文本約束,理解何時及如何使用Atom和AtomPub,為了支持緩存,該做什么,不該做什么,了解如何實現(xiàn)并發(fā)控制,處理涉及復(fù)制、合并、事務(wù)、批處理及部分更新的高級用例,保護(hù)Web服務(wù),支持OAuth。Subbu Allamaraju,Yahoo!架構(gòu)師。他設(shè)計了RESTful web服務(wù)的標(biāo)準(zhǔn)及實踐,目前負(fù)責(zé)開發(fā)者平臺的架構(gòu)工作。Subbu之前就職于BEA System,Inc..開發(fā)Web服務(wù)及基于Java的軟件。他參與了4本J2EE~H關(guān)書籍的編寫,均由Wrox發(fā)行出版。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
RESTful Web Services Cookbook中文版 PDF格式下載