http TCP IP協議與socket之間的區別

2021-08-20 21:15:06 字數 1492 閱讀 7120

網路由下往上分為:

物理層--                      

資料鏈路層--

網路層--                       ip協議

傳輸層--                       tcp協議

會話層--

表示層和應用層--           http協議

tcp/ip是傳輸層協議,主要解決資料如何在網路中傳輸;而http是應用層協議,主要解決如何包裝資料。

socket是對tcp/ip協議的封裝,socket本身並不是協議,而是乙個呼叫介面(api),通過socket,才能使用tcp/ip協議。

http連線:http連線就是所謂的短連線,即客戶端向

伺服器端

傳送一次請求,

伺服器端

響應後連線即會斷掉;

socket連線:socket連線就是所謂的長連線,理論上客戶端和

伺服器端

一旦建立起連線將不會主動斷掉;但是由於各種環境因素可能會是連線斷開,比如說:伺服器端或客戶端主機down了,網路故障,或者兩者之間長時間沒有資料傳輸,網路防火牆可能會斷開該連線以釋放網路資源。

http協議即超文字傳送協議(hypertext transfer protocol ),是web聯網的基礎,也是手機聯網常用的協議之一,http協議是建立在tcp協議之上的一種應用。

http連線最顯著的特點是客戶端傳送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連線。從建立連線到關閉連線的過程稱為「一次連線」

建立socket連線時,可以指定使用的傳輸層協議,socket可以支援不同的傳輸層協議(tcp或udp),當使用tcp協議進行連線時,該socket連線就是乙個tcp連線。

socket則是對tcp/ip協議的封裝和應用(程式設計師層面上)。也可以說,tpc/ip協議是傳輸層協議,主要解決資料 如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料。關於tcp/ip和http協議的關係,網路有一段比較容易理解的介紹:

「我們在傳輸資料時,可以只使用(傳輸層)tcp/ip協議,但是那樣的話,如 果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料有意義,則必須使用到應用層協議,應用層協議有很多,比如http、ftp、telnet等,也可以自己定義應用層協議。web使用http協議作應用層協議,以封裝http文字資訊,然後使用tcp/ip做傳輸層協議將它發到網路上。」

我們平時說的最多的socket是什麼呢,實際上socket是對tcp/ip協議的封裝,socket本身並不是協議,而是乙個呼叫介面

(api),通過socket,我們才能使用tcp/ip協議。 實際上,socket跟tcp/ip協議沒有必然的聯絡。socket程式設計接

口在設計的時候,就希望也能適應其他的網路協議。

所以說,socket的出現 只是使得程式設計師更方便地使用tcp/ip協議棧而已,是對tcp/ip協議的抽象,從而形成了我們知道的一些最基本的函式介面,比如create、 listen、connect、accept、send、read和write等等。

http TCP IP協議與socket之間的區別

網路由下往上分為 物理層 資料鏈路層 網路層 ip協議 傳輸層 tcp協議 會話層 表示層和應用層 http協議 1 tcp ip連線 手機能夠使用聯網功能是因為手機底層實現了tcp ip協議,可以使手機終端通過無線網路建立tcp連線。tcp協議可以對上層網路提供介面,使上層網路資料的傳輸建立在 無...

http TCP IP協議與socket之間的區別

本文 至 http tcp ip協議與socket之間的區別 網路由下往上分為 www.2cto.com 物理層 資料鏈路層 網路層 ip協議 傳輸層 tcp協議 會話層 表示層和應用層 http協議 1 tcp ip連線 手機能夠使用聯網功能是因為手機底層實現了tcp ip協議,可以使手機終端通過...

HTTP TCP IP協議簡單了解

一丶什麼是http協議 http協議是hypertexttransferprotocol 超文字傳輸協議 的簡寫,它是tcp ip協議的乙個應用層協議,用於定義web瀏覽器伺服器之間交換資料的過程,客戶端連上web伺服器後,若想獲得web伺服器中的某個資源,需遵守一定的通訊格式,http協議用於定義...