HTTP:超文本傳輸協(xié)議,首先它是一個(gè)協(xié)議,并且是基于TCP/IP協(xié)議基礎(chǔ)之上的應(yīng)用層協(xié)議。TCP/IP協(xié)議是傳輸層協(xié)議,主要解決數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸,HTTP是應(yīng)用層協(xié)議,主要解決如何包裝數(shù)據(jù)。HTTP協(xié)議詳細(xì)規(guī)定了瀏覽器與服務(wù)器之間相互通信的規(guī)則,是萬(wàn)維網(wǎng)交換信息的基礎(chǔ)。HTTP是基于請(qǐng)求-響應(yīng)形式并且是短連接,并且是無(wú)狀態(tài)的協(xié)議。針對(duì)其無(wú)狀態(tài)特性,在實(shí)際應(yīng)用中又需要有狀態(tài)的形式,因此一般會(huì)通過(guò)session/cookie技術(shù)來(lái)解決此問(wèn)題。
Socket:Socket不屬于協(xié)議范疇,而是一個(gè)調(diào)用接口(API),Socket是對(duì)TCP/IP協(xié)議的封裝,通過(guò)調(diào)用Socket,才能使用TCP/IP協(xié)議。Socket連接是長(zhǎng)連接,理論上客戶端和服務(wù)器端一旦建立連接將不會(huì)主動(dòng)斷開(kāi)此連接。Socket連接屬于請(qǐng)求-響應(yīng)形式,服務(wù)端可主動(dòng)將消息推送給客戶端。