tcp連接和http連接的區(qū)別
?? http是基于tcp的,客戶端往服務(wù)端發(fā)送一個(gè)http請(qǐng)求的第一部就是要建立和服務(wù)端的tcp連接,也就是三次握手
http基于tcp
tcp連接和socket連接的區(qū)別
??socket是在tcp/udp傳輸層上做的接口層,也就是socket連接可以基于tcp也可以基于udp
??基于tcp協(xié)議的socket連接,也需要三次握手,是可靠的
??基于udp協(xié)議的socket連接不需要建立連接過(guò)程,直接發(fā)送過(guò)去,不可靠,即時(shí)通訊大都是后者
socket也基于tcp
http連接和socket連接的區(qū)別
??http是短連接,socket(基于tcp協(xié)議的)是長(zhǎng)連接
??http連接服務(wù)端無(wú)法主動(dòng)發(fā)消息,socket連接雙方請(qǐng)求無(wú)先后限制
什么時(shí)候用http,什么時(shí)候用socket
?? http:雙方不需要保持時(shí)刻在線,比如客戶端獲取信息,上傳下載等
?? socket:大部分用于即時(shí)通訊,聊天室等
總結(jié)
實(shí)質(zhì)上來(lái)說(shuō)
- http是應(yīng)用層協(xié)議,封裝數(shù)據(jù)再使用tcp/ip協(xié)議進(jìn)行傳輸
- socket是一個(gè)調(diào)用接口,通過(guò)socket來(lái)使用tcp/ip協(xié)議
建立連接的三次握手和解除連接的四次揮手

三次握手.png

四次揮手.png