伊人久久大香线蕉精品组织观看,久久综合网hezyo,电影网一区二区 http://www.uuuxu.com -學習心得 Fri, 22 Apr 2022 07:01:08 +0000 zh-CN hourly 1 https://wordpress.org/?v=5.8.2 區分HTTP、Socket與TCP http://www.uuuxu.com/20220422292029.html Fri, 22 Apr 2022 07:01:08 +0000 http://www.xingdach.com/20220422292029.html HTTP、Socket、TCP這三個概念在網絡開發中經常被提及,也是比較容易被混淆的概念,這三者在TCP/IP協議族中的位置關系:-

區分HTTP、Socket與TCP

其中,HTTP是應用層的協議,更靠近客戶端,也是開發中最常用的一個網絡協議;TCP是傳輸層的協議,學過網絡的都知道,該層還有一個UDP協議;而Socket是從傳輸層上抽象出來的一個抽象層,本質是接口,并不是傳統意義上的網絡協議,所以從協議簇來說,三者還是很好區分的。那么HTTP連接、TCP連接、Socket連接有什么區別?-

1、TCP連接與HTTP連接的區別

在網絡分層中,HTTP協議是基于TCP協議的,客戶端往服務端發送一個HTTP請求時第一步就是要建立與服務端的TCP連接,也就是先三次握手,握手成功以后才能進行數據交互。從HTTP 1.1開始支持持長連接,也就是一次TCP連接以后,客戶端可以發送多次的HTTP請求給服務器端。-

總結:HTTP基于TCP-

2、TCP連接與Socket連接的區別

Socket層只是在TCP/UDP傳輸層上做的一個抽象接口層,因此一個Socket連接可以基于TCP連接,也有可能基于UDP。基于TCP協議的Socket連接同樣需要通過三次握手建立連接,是可靠的;基于UDP協議的Socket連接不需要建立連接的過程,它是不管對方能不能收到,都會將數據發送過去,因此它是不可靠的連接,大多數的即時通訊IM都是基于后者實現的。-

總結:Socket也可基于TCP-

3、HTTP連接與Socket連接的區別

HTTP是短連接,Socket(基于TCP協議的)是長連接。雖然HTTP1.1開始支持持長連接,但仍無法保證始終連接。而Socket連接一旦建立TCP三次握手,除非一方主動斷開,否則連接狀態一直保持。-

HTTP連接服務端無法主動發消息,只有發起請求服務端才會響應。而Socket連接雙方請求的發送先后沒有限制。這點就非常重要,這將決定二者分別適合應用在什么場景下。HTTP采用”請求-響應”機制,在客戶端還沒發送消息給服務端前,服務端無法推送消息給客戶端。必須滿足客戶端發送消息在前,服務端回復在后。Socket連接雙方類似P2P的關系,一方隨時可以向另一方發送消息。-

4、什么時候該用HTTP,什么時候該用Socket

在網絡開發中,經常要考慮用HTTP還是用Socket。那么總結一下:-

用HTTP的情況:雙方不需要時刻保持連接在線,比如客戶端獲取服務器端資源、文件上傳等。-

用Socket的情況:大部分即時通訊應用、聊天室、蘋果APNs等。-

本文轉載自簡書作者“YungFan”-

本文由孫偉轉載于網絡而成,如有侵權,請聯系站長刪除

]]>
主站蜘蛛池模板: 桓台县| 四子王旗| 姜堰市| 启东市| 烟台市| 柏乡县| 马鞍山市| 财经| 沂南县| 星座| 宁德市| 瑞安市| 甘孜| 陇川县| 始兴县| 江阴市| 西畴县| 元朗区| 淳安县| 乳山市| 安岳县| 晋城| 陈巴尔虎旗| 文山县| 同德县| 南岸区| 麟游县| 莲花县| 保德县| 赤城县| 咸阳市| 安泽县| 庆安县| 新郑市| 攀枝花市| 通化市| 晋中市| 伊宁市| 田东县| 嘉鱼县| 广昌县|