淺談WebService SOAP、Restful、HTTP(post/get)請求

HTTP-GET 和 HTTP-POST

HTTP-GET和HTTP-POST是標準協議,他們使用HTTP(超文本傳輸協議)謂詞(謂詞是指條件表達式的求值返回真或假的過程。)對參數進行編碼並將參數做爲名稱/值對傳遞,還使用關聯的請求語義。每一個協議都包含一系列HTTP請求標頭,HTTP請求標頭及其餘一些信息定義客戶端向服務器請求哪些內容,哪一個服務器用一系列HTTP響應標頭和所請求的數據進行響應。 php

HTTP-GET 使用 MIME 類型 application/x-www-form-urlencoded(將追加處處理請求的服務器的 URL 中)以 URL 編碼文本的形式傳遞其參數。 URL 編碼是一種字符編碼形式,可確保傳遞的參數中包含一致性文本,例如將空格編碼爲 %20,其它符號轉換爲%XX,其中XX爲該符號以16進製表示的ASCII(或ISO Latin-1)值。 追加的參數也稱爲查詢字符串。 html

與 HTTP-GET 相似,HTTP-POST 參數也是 URL 編碼的。 可是,名稱/值對是在實際的 HTTP 請求消息內部傳遞的,而不是做爲 URL 的一部分進行傳遞。 linux

咱們平常網站、系統都是使用這種形式進行訪問咱們的應用程序。 web


web service(SOAP)

Webservice的一個最基本的目的就是提供在各個不一樣平臺的不一樣應用系統的協同工做能力。 數組

Web service 就是一個應用程序,它向外界暴露出一個可以經過Web進行調用的API。 緩存

SOAP是一種簡單基於xml的輕量協議,用戶web上交換結構化信息和類型信息。 安全

soap請求是HTTP POST的一個專用版本,遵循一種特殊的xml消息格式Content-type設置爲: text/xml任何數據均可以xml化。 服務器


Restful
restful

REST(Representational State Transfer)一種輕量級的Web Service架構,能夠徹底經過HTTP協議實現。其實現和操做比SOAP和XML-RPC更爲簡潔,還能夠利用緩存Cache來提升響應速度,性能、效率和易用性上都優於SOAP協議。
REST架構對資源的操做包括獲取、建立、修改和刪除資源的操做正好對應HTTP協議提供的GET、POST、PUT和DELETE方法(Verb)
網絡


SOAPHTTP的區別

爲何要學習web service?

大多數對外接口會實現web service方法而不是http方法,若是你不會,那就沒有辦法對接。

web service相對http (post/get)有好處嗎?

1.接口中實現的方法和要求參數一目瞭然

2.不用擔憂大小寫問題

3.不用擔憂中文urlencode問題

4.代碼中不用屢次聲明認證(帳號,密碼)參數

5.傳遞參數能夠爲數組,對象等...

web service相對http(post/get)快嗎?

因爲要進行xml解析,速度可能會有所下降。 

web service 能夠被http(post/get)替代嗎?

徹底能夠,並且如今的開放平臺都是用的HTTP(post/get)實現的。


Restful與SOAP的區別

安全性:SOAP會好於restful

效率和易用性(REST更勝一籌)

成熟度(總的來講SOAP在成熟度上優於REST)



可參考下面文章學習:

理解RESTful架構 - 阮一峯的網絡日誌

淺談HTTP-GET 、 HTTP-POST 和SOAP

web service(SOAP)與HTTP接口的區別

WebService的兩種方式SOAP和REST比較

爲何使用WebService

相關文章
相關標籤/搜索