知識(shí)點(diǎn):
- 通訊協(xié)議:通信協(xié)議(communications protocol)是指雙方實(shí)體完成通信或服務(wù)所必須遵循的規(guī)則和約定爹凹。通過通信信道和設(shè)備互連起來的多個(gè)不同地理位置的數(shù)據(jù)通信系統(tǒng),要使其能協(xié)同工作實(shí)現(xiàn)信息交換和資源共享心墅,它們之間必須具有共同的語言。交流什么荐类、怎樣交流及何時(shí)交流,都必須遵循某種互相都能接受的規(guī)則测砂。這個(gè)規(guī)則就是通信協(xié)議苇羡。TCP这刷、UDP婉烟、HTTP與HTTPS都是通信協(xié)議
- Http和Https:
Http是HyperText Transfer Protocol的縮寫,也就是超文本傳輸協(xié)議崭歧,建立在TCP協(xié)議之上隅很。
Https是Secure Hypertext Transfer Protocol的縮寫撞牢,也就是安全超文本傳輸協(xié)議率碾。它是一個(gè)安全通信通道,它基于HTTP開發(fā)屋彪,用于在客戶計(jì)算機(jī)和服務(wù)器之間交換信息所宰。它使用安全套接字層(SSL)進(jìn)行信息交換,簡(jiǎn)單來說它是HTTP的安全版畜挥。 - Socket:
Socket是為了實(shí)現(xiàn)通信過程而建立成來的通信管道仔粥,是一種連接模式,不是協(xié)議蟹但∏客戶端和服務(wù)器端通過Socket進(jìn)行通信。它只是提供了一個(gè)針對(duì)TCP或者UDP編程的接口华糖。
TCP麦向、UDP是兩個(gè)最基本的協(xié)議,很多其它協(xié)議都是基于這兩個(gè)協(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ù)傳輸佛呻。
長(zhǎng)連接和短連接:
短連接:鏈接是保持在數(shù)據(jù)傳輸過程裳朋,請(qǐng)求發(fā)起,連接建立吓著,數(shù)據(jù)返回鲤嫡,連接關(guān)閉氧苍。它適用于一些實(shí)時(shí)數(shù)據(jù)請(qǐng)求。Socket建立連接泛范,發(fā)送完數(shù)據(jù)后就斷開鏈接让虐。Http 1.0只支持短連接
長(zhǎng)連接:長(zhǎng)連接便是在連接發(fā)起后,在請(qǐng)求關(guān)閉連接前客戶端與服務(wù)端都保持連接罢荡,SOCKET連接后不管是否使用都保持連接赡突,可以對(duì)其進(jìn)行復(fù)用但安全性較差。它適用于涉及消息推送区赵,請(qǐng)求頻繁的場(chǎng)景(直播惭缰,流媒體)。連接建立后笼才,在該連接下的所有請(qǐng)求都可以重用這個(gè)長(zhǎng)連接管道漱受,避免了頻繁了連接請(qǐng)求,提升了效率骡送。
區(qū)分長(zhǎng)連接還是短連接是取決于傳輸層的TCP協(xié)議的
長(zhǎng)連接并不是永久連接的昂羡。如果一段時(shí)間內(nèi)(具體的時(shí)間長(zhǎng)短,是可以在header當(dāng)中進(jìn)行設(shè)置的摔踱,也就是所謂的超時(shí)時(shí)間)虐先,這個(gè)連接沒有HTTP請(qǐng)求發(fā)出的話,那么這個(gè)長(zhǎng)連接就會(huì)被斷掉派敷。