ASP.NET WEB API簡介

  ASP.NET WEB API是基於.NET Framework用來構建Restful軟件架構的框架,它是基於HTTP協議。Http不僅是可以生成咱們常見的web頁面,它更是可以創建服務和麪向資源的平臺。使用HTTP協議創建的服務更加的輕量級,更加的簡潔。不一樣的客戶端能夠更加無縫的使用服務。爲了理解爲何要使用WEB API,首先要理解的一個概念就是Restful。web

 

Restful

  Restful是一種面向資源的軟件架構,Rest的全文是Representational State Transfer,即表現層狀態轉換。這樣的字面意義對於咱們理解Rest不是很容易,下面,咱們使用比較通俗的方式來理解面向資源。在咱們平常使用計算設備時,實際上,計算設備無時無刻不在與另一臺設備通訊,好比QQ,微信等等,咱們不斷的從一臺設備上獲取數據,提交數據,更新數據,刪除數據。這裏的數據不僅僅是指數字和文本,更包括圖片,文件等等。這種通訊方式稱爲分佈式通訊。設備在端口的某一處公開一系列的操做供其餘設備使用。這些操做就是服務。咱們經過調用設備公開的服務,完成相關的操做並在必要的時候返回數據。然而,無論是使用哪一種方式實現服務。客戶端使用服務都是重量級的,繁瑣的。由於客戶端要爲訪問這些服務創建代理,並經過代理來與服務端設備通訊。而對於一些比較輕量級的通訊,面向服務顯然增長了開發的複雜性。REST 是一種輕量級的面向服務架構風格,其實現和操做比面向服務更爲簡潔,能夠利用 HTTP 協議實如今響應速度,性能、效率和易用性上都優於面向服務的軟件架構。json

  Representational State Transfer(表現層狀態轉換)實際上能夠看作是表現層資源狀態轉換,下面咱們使用一張圖來講明Rest的幾個特性。服務器

Restful

 

 

 

 

 

 

 

 

 

  經過上圖咱們來理解面向資源的幾個重要組成部分、微信

  1. 資源:資源即便分佈在網絡上的設備實體(好比文本,圖片,歌曲,文件,數據…)
  2. 表現層:用於展示資源的設備
  3. URI:指向網絡實體資源的地址
  4. 狀態轉換:將無狀態的HTTP協議經過表現層展現狀態

  在上圖中,網絡中的一個服務器集羣經過地址http://127.0.0.1/xxx向外部公開資源。智能設備A,B,C(能夠是PC,能夠是IOS設備,能夠是安卓設備)經過HTTP協議訪問服務器公開的地址。服務器回返回資源給客戶端(此處是json)。客戶端獲取json並組裝數據,轉換狀態呈現給最終用戶。整個訪問完成。Rest可使用的HTTP動做是Get,Post,Put,Delete。對於面向資源的服務,客戶端的訪問更加的簡潔與高效,而且不須要設置代理,任何平臺均可以直接使用獲取的資源。而不須要針對某一個具體的平臺作特殊處理。那麼,對於面向資源的服務,不一樣平臺的使用更加簡潔。不一樣平臺的客戶端只須要關注表現層,這個也遵照了軟件架構中的分離關注點原則。網絡

 

  上面簡短的解釋了面向資源的服務,下面的章節,咱們來看看ASP.NET WEB API怎麼實現面向資源的服務架構

 

ASP.NET WEB API實現面向資源的服務

相關文章
相關標籤/搜索