什麼是Web API
HTTP不僅僅服務于Web Pages。他也是一個建立展示服務和資料的API的強大平台。HTTP是簡單的,靈活的,無處不在的。你能夠想象到幾乎任何的平台都會有HTTP服務庫。HTTP服務可以涉及到範圍廣泛的用戶端,包括浏覽器,各種移動裝置和傳統桌面應用程式。而Web API是提供了一套RestfulAPI的開發架構,它提供了較為完整的http語義支援。
Web API 與MVC 的差別
1.使用差別
MVC主要用于Web站點開發,它在後端實作了一套完整的MVC開發架構,能提供友善的頁面開發,提供給了後端Html構成,使用者可以友善的開發出帶頁面的站點
Web API主要用于做開放API接口,更抽象,更不注重VIew生成
2.自身實作差別
兩種架構主要使在Asp.Net的基礎上進行改造,主要是對HttpModule和HttpHandler做了擴充。
MVC像是在一層上建立了第二層,引伸出更大的路由機制,實作了諸如MvcHandler和ControllerFactory這種消息處理和背景控制器方法選擇機制。而Web API除了擴充前者外,另外寫出了一套獨立的,獨立于Asp.Net的消息處理管道,就像借鑒了原來的房子模型,重新設計出了另一套别墅,這也很好的解釋了為什麼Web API可以寄宿在不同的宿主上(宿主本質就是利用一個具體的一個用程式為Web API提供給一個可運作的環境,并解決請求的接收和響應的回複),如 Web Host,Self Host方式,這與WCF相似。而MVC隻能寄宿與IIS上(不考慮.net core),就像WebForm的寄宿方式。何況它們兩者雖然都有Controller和Action,但是請求的實作和響應的回複機制也是不同的,比如Web API處理消息的兩個核心類是HttpRequestMessage和HttpResponseMessage。這兩種架構最多隻能說模式上相似,實作還有有很大差別。