1. 程式人生 > >Python3:搞懂 TCP/IP , HTTP 和 Socket 之間的聯絡。

Python3:搞懂 TCP/IP , HTTP 和 Socket 之間的聯絡。

TCP/IP , HTTP 和 Socket 之間的聯絡

  1. TCP/IP 和HTTP都是協議,一個位於傳輸層,一個位於應用層。
  2. Socket 不位於任何一層的,上邊的兩個協議再好,也得有人用。
    就比如電你不用,它也沒有任何意義,那怎麼去用呢,就是呼叫Socket介面,
    它是和TCP/IP 協議打交道,通過socket可以呼叫 TCP/IP。
  3. Socket怎麼去呼叫呢,就用到了Socket 程式設計的流程。
    socket、bind、listen、accept、connect,send
    一系列提供的介面用於實現tcp協議相關的功能。
  4. HTTP協議為了完成端到端通訊,客戶端和服務端規定各自通訊內容的格式 以及TCP通訊方式。
    它會拿來Socket 介面進行組合,呼叫適合自己TCP 的通訊方式.
  5. 比如聊天系統協議,SMTP 郵件協議,HTTP 協議 之間的區別是呼叫socket 實現方式
    不同。
  6. 如果市面上找不到相應的協議,可以根據自己的需求再次封裝socket。

舉個例子:
我買到一個電風扇 ,電風扇通電協議(HTTP)是 220V 且必須是三個插孔,
為了讓它通電執行就必須找適應的插座(SOCKET), 插座開始呼叫電力(220V)
(TCP)進行傳輸。
有了插座使電力運行了電風扇成為了可能。
有不同的電器,會要求電壓不同 這就是應用層不同協議。