TCP IP Http Soap協議 基本認識

2021-07-14 03:44:13 字數 2407 閱讀 1601

寫這篇文章的起因是在工作中開發介面,用到了soap協議。關於為什麼用soap,以及它與常常聽到和接觸的http協議、tcp/ip協議有什麼關係,還需要進一步認識。

1、首先,先分別介紹一下三種協議的基本概念吧、

http,超文字傳輸協議。它是網際網路上應用最為廣泛的一種網路協議。所有的www檔案都必須遵守這個標準。設計http最初的目的是為了提供一種發布和接收html頁面的方法。

soap,簡單物件訪問協議。是交換資料的一種協議規範,是一種輕量的、簡單的、基於xml(標準通用標記語言下的乙個子集)的協議,它被設計成在web上交換結構化的和固化的資訊。

通過這三個基本概念,我們對著三種協議也有了乙個初步的了解,至少明白了他們都是幹什麼的:http:接受和發布html;soap:在web上交換資訊;tcp/ip:資料傳輸。總結一下,就是他們都用來資料傳輸的。

2、接下來,分別詳述一下這三種協議,看看他們到底傳輸什麼,有何「神通」:

(1)tcp是面向連線的通訊協議,通過三次握手建立連線,通訊完成時要拆除連線,由於tcp是面向連線的所以只能用於端到端的通訊。

tcp提供的是一種可靠的資料流服務,採用「帶重傳的肯定確認」技術來實現傳輸的可靠性。tcp還採用一種稱為「滑動視窗」的方式進行流量控制,所謂視窗實際表示接收能力,用以限制傳送方的傳送速度,大家可以理解為物理中控制電阻的「滑動變阻器」。

如果ip資料報中有已經封好的tcp資料報,那麼ip將把它們向『上』傳送到tcp層。tcp將包排序並進行錯誤檢查,同時實現虛電路間的連線。tcp資料報中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。

tcp將它的資訊送到更高層的應用程式,例如telnet的服務程式和客戶程式。應用程式輪流將資訊送回tcp層,tcp層便將它們向下傳送到ip層,裝置驅動程式和物理介質,最後到接收方。

面向連線的服務(例如telnet、ftp、rlogin、x windows和smtp)需要高度的可靠性,所以它們使用了tcp。dns在某些情況下使用tcp(傳送和接收網域名稱資料庫),但使用udp傳送有關單個主機的資訊。

(2)ip層接收由更低層(網路介面層例如乙太網裝置驅動程式)發來的資料報,並把該資料報傳送到更高層---tcp或udp層;相反,ip層也把從tcp或udp層接收來的資料報傳送到更低層。

ip資料報是不可靠的,因為ip並沒有做任何事情來確認資料報是否按順序傳送的或者有沒有被破壞,ip資料報中含有傳送它的主機的位址(源位址)和接收它的主機的位址(目的位址)。

(3)http協議是用於從www伺服器傳輸超文字到本地瀏覽器的傳輸協議。它可以使瀏覽器更加高效,使網路傳輸減少。它不僅保證計算機正確快速地傳輸超文字文件,還確定傳輸文件中的哪一部分,以及哪部分內容首先顯示(如文字先於圖形)等。

http是客戶端瀏覽器或與web伺服器之間的應用層通訊協議。在internet上的web伺服器上存放的都是超文字資訊,客戶機需要通過http協議傳輸所要訪問的超文字資訊。http包含命令和傳輸資訊,不僅可用於web訪問,也可以用於其他網際網路/內聯網應用系統之間的通訊,從而實現各類應用資源超**訪問的整合。

我們在瀏覽器的位址列裡輸入的**位址叫做url (uniform resource locator,統一資源定位符)。就像每家每戶都有乙個門牌位址一樣,每個網頁也都有乙個internet位址。當你在瀏覽器的位址框中輸入乙個url或是單擊乙個超級鏈結時,url就確定了要瀏覽的位址。瀏覽器通過http協議,將web伺服器上站點的網頁**提取出來,並翻譯成漂亮的網頁。

(4)是乙個基於xml的協議交換訊息,可以使用http來傳輸這些資訊。事實上http是soap訊息的最常見的傳輸工具。soap將資訊進行xml的序列化後,再用http協議的方式再打包進行傳送,傳送的方式還是tcp或者udp。

做個比喻就好理解了。tcp 和 udp 都是公路,暫且把tcp認為是一般公路,udp高速公路,soap和http就都是汽車,那麼soap和http都可以在tcp和udp上跑。說soap可以通過http來傳送,實際就是說soap是小轎車,http是裝轎車的卡車,把soap的資訊裝到http裡面,然後再運輸,當然走的道路還是tcp或udp。

說soap可以通過http協議來傳輸,這句話不太準確,比較準確第說法是:soap資訊可以通過http協議包裝後通過tcp或udp傳輸。

3、soap例項分析

下面通過乙個soap例項,來理解一下:

圖1是通訊雙方規定的引數輸入和輸出規範:

具體的後台**就不演示了,簡單描述一下:輸入輸出都是封裝好的bean物件。sql直接查出來的資料為list,之後再將一些返回引數和該list一併放入map,在將map放入responsebean,返回就可以了。

TCP IP,HTTP,SOAP等協議之區別

術語tcp ip代表傳輸控制協議 網際協議,指的是一系列協議。ip 代表網際協議,tcp和udp使用該協議從乙個網路傳送資料報到另乙個網路。把ip想像成一種高速公路,它允許其它協議在上面行駛並找到到其它電腦的出口。tcp和udp是高速公路上的 卡車 它們攜帶的貨物就是像http,檔案傳輸協議ftp這...

TCP IP,HTTP,SOAP等協議之區別

術語tcp ip代表傳輸控制協議 網際協議,指的是一系列協議。ip 代表網際協議,tcp和udp使用該協議從乙個網路傳送資料報到另乙個網路。把ip想像成一種高速公路,它允許其它協議在上面行駛並找到到其它電腦的出口。tcp和udp是高速公路上的 卡車 它們攜帶的貨物就是像http,檔案傳輸協議ftp這...

TCP IP,HTTP,SOAP等協議之區別

tcp ip,http,soap等協議之區別 術語tcp ip代表傳輸控制協議 網際協議,指的是一系列協議。ip 代表網際協議,tcp和udp使用該協議從乙個網路傳送資料報到另乙個網路。把ip想像成一種高速公路,它允許其它協議在上面行駛並找到到其它電腦的出口。tcp和udp是高速公路上的 卡車 它們...