知識點(diǎn):
- 通訊協(xié)議:通信協(xié)議(communications protocol)是指雙方實(shí)體完成通信或服務(wù)所必須遵循的規(guī)則和約定。通過通信信道和設(shè)備互連起來的多個不同地理位置的數(shù)據(jù)通信系統(tǒng),要使其能協(xié)同工作實(shí)現(xiàn)信息交換和資源共享,它們之間必須具有共同的語言。交流什么、怎樣交流及何時交流,都必須遵循某種互相都能接受的規(guī)則。這個規(guī)則就是通信協(xié)議。TCP、UDP、HTTP與HTTPS都是通信協(xié)議
- Http和Https:
Http是HyperText Transfer Protocol的縮寫,也就是超文本傳輸協(xié)議,建立在TCP協(xié)議之上。
Https是Secure Hypertext Transfer Protocol的縮寫,也就是安全超文本傳輸協(xié)議。它是一個安全通信通道,它基于HTTP開發(fā),用于在客戶計(jì)算機(jī)和服務(wù)器之間交換信息。它使用安全套接字層(SSL)進(jìn)行信息交換,簡單來說它是HTTP的安全版。 - Socket:
Socket是為了實(shí)現(xiàn)通信過程而建立成來的通信管道,是一種連接模式,不是協(xié)議。客戶端和服務(wù)器端通過Socket進(jìn)行通信。它只是提供了一個針對TCP或者UDP編程的接口。
TCP、UDP是兩個最基本的協(xié)議,很多其它協(xié)議都是基于這兩個協(xié)議如,HTTP就是基于TCP的,用Socket可以創(chuàng)建TCP連接,也可以創(chuàng)建UDP連接,這意味著,用Socket可以創(chuàng)建任何協(xié)議的連接,因?yàn)槠渌鼌f(xié)議都是基于此的。
總結(jié):網(wǎng)絡(luò)通信就是借助有限或無線的介質(zhì)按照通訊協(xié)議建立的多端數(shù)據(jù)傳輸。
長連接和短連接:
短連接:鏈接是保持在數(shù)據(jù)傳輸過程,請求發(fā)起,連接建立,數(shù)據(jù)返回,連接關(guān)閉。它適用于一些實(shí)時數(shù)據(jù)請求。Socket建立連接,發(fā)送完數(shù)據(jù)后就斷開鏈接。Http 1.0只支持短連接
長連接:長連接便是在連接發(fā)起后,在請求關(guān)閉連接前客戶端與服務(wù)端都保持連接,SOCKET連接后不管是否使用都保持連接,可以對其進(jìn)行復(fù)用但安全性較差。它適用于涉及消息推送,請求頻繁的場景(直播,流媒體)。連接建立后,在該連接下的所有請求都可以重用這個長連接管道,避免了頻繁了連接請求,提升了效率。
區(qū)分長連接還是短連接是取決于傳輸層的TCP協(xié)議的
長連接并不是永久連接的。如果一段時間內(nèi)(具體的時間長短,是可以在header當(dāng)中進(jìn)行設(shè)置的,也就是所謂的超時時間),這個連接沒有HTTP請求發(fā)出的話,那么這個長連接就會被斷掉。