Python3:搞懂 TCP/IP , HTTP 和 Socket 之間的聯絡。
阿新 • • 發佈:2018-11-19
TCP/IP , HTTP 和 Socket 之間的聯絡
- TCP/IP 和HTTP都是協議,一個位於傳輸層,一個位於應用層。
- Socket 不位於任何一層的,上邊的兩個協議再好,也得有人用。
就比如電你不用,它也沒有任何意義,那怎麼去用呢,就是呼叫Socket介面,
它是和TCP/IP 協議打交道,通過socket可以呼叫 TCP/IP。 - Socket怎麼去呼叫呢,就用到了Socket 程式設計的流程。
socket、bind、listen、accept、connect,send
一系列提供的介面用於實現tcp協議相關的功能。 - HTTP協議為了完成端到端通訊,客戶端和服務端規定各自通訊內容的格式 以及TCP通訊方式。
它會拿來Socket 介面進行組合,呼叫適合自己TCP 的通訊方式. - 比如聊天系統協議,SMTP 郵件協議,HTTP 協議 之間的區別是呼叫socket 實現方式
不同。 - 如果市面上找不到相應的協議,可以根據自己的需求再次封裝socket。
舉個例子:
我買到一個電風扇 ,電風扇通電協議(HTTP)是 220V 且必須是三個插孔,
為了讓它通電執行就必須找適應的插座(SOCKET), 插座開始呼叫電力(220V)
(TCP)進行傳輸。
有了插座使電力運行了電風扇成為了可能。
有不同的電器,會要求電壓不同 這就是應用層不同協議。