WebAPI 和 webservice的區別


轉載:https://blog.csdn.net/mss359681091/article/details/53353258 

webapi用的是http協議,webservice用的是soap協議 

webapi無狀態,相對webservice更輕量級。webapi支持如get,post等http操作

http soap關系

http:是一個客戶端和服務器端請求和應答的標准(TCP)。http協議其目的是為了提供一種發布和接收htttp頁面的方法

一http協議的客戶端與服務器的交互:由HTTP客戶端發起一個請求,建立一個到服務器指定端口(默認是80端口)的TCP連接。HTTP服務器則在那個端口監聽客戶端發送過來的請求。一旦收到請求,服務器(向客戶端)發回一個狀態行,比如”HTTP/1.1 200 OK”,和(響應的)消息,消息的消息體可能是請求的文件、錯誤消息、或者其它一些信息。

soap 協議:它描述了一種在分散或分布式的環境中如何交換信息的輕量級協議。soap在http協議的基礎上,一個基於XML的協議。

不同:都是底層的通信協議,請求包的格式不同而已,soap包是XML格式,http純文本格式。

關系:SOAP是個通信協議, SOAP在HTTP協議的基礎上,把編寫成XML的REQUEST參數, 放在HTTP BODY上提交個WEB SERVICE服務器(SERVLET,ASP什么的) 處理完成后,結果也寫成XML作為RESPONSE送回用戶端, 為了使用戶端和WEB SERVICE可以相互對應,可以使用WSDL作為這種通信方式的描述文件,利用WSDL工具可以自動生成WS和用戶端的框架文件,SOAP具備把復雜對象序列化捆綁到XML里去的能力。
  

WCF和WEB API我該選擇哪個? 
  1、當你想創建一個支持消息、消息隊列、雙工通信的服務時,你應該選擇WCF 
  2、當你想創建一個服務,可以用更快速的傳輸通道時,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他傳輸通道不可用的時候也可以支持HTTP。
  3、當你想創建一個基於HTTP的面向資源的服務並且可以使用HTTP的全部特征時(比如URIs、request/response頭,緩存,版本控制,多種內容格式),你應該選擇Web API
  4、當你想讓你的服務用於瀏覽器、手機、iPhone和平板電腦時,你應該選擇Web API

SOAP:Simple Object Access Protocol 
簡單對象訪問協議(SOAP)是一種輕量的、簡單的、基於 XML 的協議,它被設計成在 WEB 上交換結構化的和固化的信息。 SOAP 可以和現存的許多因特網協議和格式結合使用,包括超文本傳輸協議( HTTP),簡單郵件傳輸協議(SMTP),多用途網際郵件擴充協議(MIME)。它還支持從消息系統到遠程過程調用(RPC)等大量的應用程序。

HTTP協議: 應用層 
TCP協議 : 傳輸層

HTTP協議詳解之響應篇

在接收和解釋請求消息后,服務器返回一個HTTP響應消息。 
 
 
 
         
  • 1
  • 2

HTTP響應也是由三個部分組成,分別是:狀態行、消息報頭、響應正文 
1、狀態行格式如下: 
HTTP-Version Status-Code Reason-Phrase CRLF 
其中,HTTP-Version表示服務器HTTP協議的版本;Status-Code表示服務器發回的響應狀態代碼;Reason-Phrase表示狀態代碼的文本描述。
狀態代碼有三位數字組成,第一個數字定義了響應的類別,且有五種可能取值: 
1xx:指示信息–表示請求已接收,繼續處理 
2xx:成功–表示請求已被成功接收、理解、接受 
3xx:重定向–要完成請求必須進行更進一步的操作 
4xx:客戶端錯誤–請求有語法錯誤或請求無法實現 
5xx:服務器端錯誤–服務器未能實現合法的請求 
常見狀態代碼、狀態描述、說明: 
200 OK //客戶端請求成功 
400 Bad Request //客戶端請求有語法錯誤,不能被服務器所理解 
401 Unauthorized //請求未經授權,這個狀態代碼必須和WWW-Authenticate報頭域一起使用 
403 Forbidden //服務器收到請求,但是拒絕提供服務 
404 Not Found //請求資源不存在,eg:輸入了錯誤的URL 
500 Internal Server Error //服務器發生不可預期的錯誤 
503 Server Unavailable //服務器當前不能處理客戶端的請求,一段時間后可能恢復正常 
eg:HTTP/1.1 200 OK (CRLF)

2、響應報頭后述

3、響應正文就是服務器返回的資源的內容

http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html

 


免責聲明!

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



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