美女福利精品视频,xxx在线免费观看,亚洲精品大片 http://www.uuuxu.com -學(xué)習(xí)心得 Fri, 22 Apr 2022 07:01:08 +0000 zh-CN hourly 1 https://wordpress.org/?v=5.8.2 區(qū)分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這三個(gè)概念在網(wǎng)絡(luò)開發(fā)中經(jīng)常被提及,也是比較容易被混淆的概念,這三者在TCP/IP協(xié)議族中的位置關(guān)系:-

區(qū)分HTTP、Socket與TCP

其中,HTTP是應(yīng)用層的協(xié)議,更靠近客戶端,也是開發(fā)中最常用的一個(gè)網(wǎng)絡(luò)協(xié)議;TCP是傳輸層的協(xié)議,學(xué)過(guò)網(wǎng)絡(luò)的都知道,該層還有一個(gè)UDP協(xié)議;而Socket是從傳輸層上抽象出來(lái)的一個(gè)抽象層,本質(zhì)是接口,并不是傳統(tǒng)意義上的網(wǎng)絡(luò)協(xié)議,所以從協(xié)議簇來(lái)說(shuō),三者還是很好區(qū)分的。那么HTTP連接、TCP連接、Socket連接有什么區(qū)別?-

1、TCP連接與HTTP連接的區(qū)別

在網(wǎng)絡(luò)分層中,HTTP協(xié)議是基于TCP協(xié)議的,客戶端往服務(wù)端發(fā)送一個(gè)HTTP請(qǐng)求時(shí)第一步就是要建立與服務(wù)端的TCP連接,也就是先三次握手,握手成功以后才能進(jìn)行數(shù)據(jù)交互。從HTTP 1.1開始支持持長(zhǎng)連接,也就是一次TCP連接以后,客戶端可以發(fā)送多次的HTTP請(qǐng)求給服務(wù)器端。-

總結(jié):HTTP基于TCP-

2、TCP連接與Socket連接的區(qū)別

Socket層只是在TCP/UDP傳輸層上做的一個(gè)抽象接口層,因此一個(gè)Socket連接可以基于TCP連接,也有可能基于UDP。基于TCP協(xié)議的Socket連接同樣需要通過(guò)三次握手建立連接,是可靠的;基于UDP協(xié)議的Socket連接不需要建立連接的過(guò)程,它是不管對(duì)方能不能收到,都會(huì)將數(shù)據(jù)發(fā)送過(guò)去,因此它是不可靠的連接,大多數(shù)的即時(shí)通訊IM都是基于后者實(shí)現(xiàn)的。-

總結(jié):Socket也可基于TCP-

3、HTTP連接與Socket連接的區(qū)別

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

HTTP連接服務(wù)端無(wú)法主動(dòng)發(fā)消息,只有發(fā)起請(qǐng)求服務(wù)端才會(huì)響應(yīng)。而Socket連接雙方請(qǐng)求的發(fā)送先后沒(méi)有限制。這點(diǎn)就非常重要,這將決定二者分別適合應(yīng)用在什么場(chǎng)景下。HTTP采用”請(qǐng)求-響應(yīng)”機(jī)制,在客戶端還沒(méi)發(fā)送消息給服務(wù)端前,服務(wù)端無(wú)法推送消息給客戶端。必須滿足客戶端發(fā)送消息在前,服務(wù)端回復(fù)在后。Socket連接雙方類似P2P的關(guān)系,一方隨時(shí)可以向另一方發(fā)送消息。-

4、什么時(shí)候該用HTTP,什么時(shí)候該用Socket

在網(wǎng)絡(luò)開發(fā)中,經(jīng)常要考慮用HTTP還是用Socket。那么總結(jié)一下:-

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

用Socket的情況:大部分即時(shí)通訊應(yīng)用、聊天室、蘋果APNs等。-

本文轉(zhuǎn)載自簡(jiǎn)書作者“YungFan”-

本文由孫偉轉(zhuǎn)載于網(wǎng)絡(luò)而成,如有侵權(quán),請(qǐng)聯(lián)系站長(zhǎng)刪除

]]>
主站蜘蛛池模板: 个旧市| 贺兰县| 曲阳县| 武夷山市| 曲沃县| 南丰县| 年辖:市辖区| 吉水县| 武强县| 苍南县| 墨玉县| 九江市| 民权县| 彝良县| 盖州市| 大洼县| 福州市| 海门市| 西充县| 开远市| 盈江县| 汨罗市| 潞城市| 外汇| 江都市| 永福县| 石景山区| 崇左市| 元江| 琼中| 宜宾县| 桐梓县| 双牌县| 咸阳市| 巴彦淖尔市| 宿迁市| 崇明县| 开远市| 辛集市| 郓城县| 长丰县|