WCF中的REST架構一(REST 概述)

2021-04-19 23:49:55 字數 1665 閱讀 7360

wcf中的

rest

架構一(

rest

概述)不同的人似乎對

rest

有不同的定義,有些定義是非常嚴格的,而有些則是比較自由的。我傾向於認為

rest

架構存在於乙個連續的範圍裡,

如圖所示:

我們可以認為

rest

背後隱含的基本理念如下:

·越簡單越好

·web

一直是非常成功的。

·web

是很簡單的。

·web

設計要遵循一些指導性原則,而這些原則在過去很長一段時間內都是可靠的。

·web

服務的設計要以

web的方式。

儘管不同的人對

rest

有不同的定義,但可以肯定的是存在一些特徵來影響乙個服務是否是

restful

的,或者它能不能被認為是

restful,

或者它能否落在上面這個連續範圍內的某個位置。這裡列出一些(並不是全部)特徵:·對

方法(get,put,post,delete

是主要的

http方法)

的合理使用——

hi-rest

端傾向於對具體方法用於具體的情景進行嚴格的規定。例如乙個

hi-rest

的實現中使用

get方法獲取,

delete

方法用來刪除,

put方法用來插入或者更新,而

post

方法則用來附加。而

lo-rest

的解決方案則可能使用

post

方法做插入,更新,刪除和附加操作。

·對資料表現形式的選擇——

hi-rest

解決方案傾向於選擇標準的資料表現形式,而一些

lo-rest

解決方案則認為

pox也是乙個不錯的選擇。

·對良好構造的

uri的使用——

hi-rest

解決方案傾向於使用描述性的

uri而一般情況下不使用查詢字串,而我們在一些

lo-rest

解決方案中可以看到對查詢字串的使用。

·其他:有效負荷中包含指向相關資訊的鏈結,使用合適的

響應**。

我沒有在什麼是

rest

的基礎上給出乙個嚴格的定義,原因並不是我覺得這不重要。原因是,從

wcf的角度,乙個專門的定義無關緊要。

wcf支援範圍兩端的

rest

架構(hi-rest

和lo-rest

lo-rest

的實現,同時在之後的文章中,我將演示

hi-rest

端的實現。

如果上面這些對你來說都沒有什麼意義,也沒有關係,下面的文章將提供具體的例項。

WCF 4 0中rest服務的增強

支援aspnet的output cache 對大量非實時資料複雜查詢的rest服務而言,output cache可以說是aspnet的最大優化亮點,今天wcf的rest服務也終於可以享受這一好處了 msdn的例子 支援xml和json兩種請求的自動適配 用xml還是用json,向來是rest服務的乙...

基於REST架構的Web Service設計

先前我曾經介紹過利用apache axis實現基於soap的web service實現技術和相關 總的來說,soap的web service解決方案雖然較為成熟,且安全性較好,但是使用門檻較高,在大併發情況下會有效能問題,在網際網路上使用不太普及,因此並不太適合web 2.0 服務使用,目前大量的w...

基於REST架構的Web Service設計

先前我曾經介紹過利用apache axis 實現基於soap的web service實現技術和相關 總的來說,soap的web service解決方案雖然較為成熟,且安全性較好,但是使用門檻較高,在大併發情況下會有效能問題,在網際網路上使用不太普及,因此並不太適合web 2.0 服務使用,目前大量的...