什么是长连接和短连接?(长链接、短链接)什么时候使用长连接、短链接?
文章目錄
- 什么是長連接和短連接?
- 什么時(shí)候使用長連接、短鏈接?
- 定義
- 適用場景
什么是長連接和短連接?
在HTTP/1.0中默認(rèn)使用短連接。也就是說,客戶端和服務(wù)器每進(jìn)行一次HTTP操作,就建立一次連接,任務(wù)結(jié)束就中斷連接。當(dāng)客戶端瀏覽器訪問的某個(gè)HTML或其他類型的Web頁中包含有其他的Web資源(如JavaScript文件、圖像文件、CSS文件等),每遇到這樣一個(gè)Web資源,瀏覽器就會(huì)重新建立一個(gè)HTTP會(huì)話。
而從HTTP/1.1起,默認(rèn)使用長連接,用以保持連接特性。使用長連接的HTTP協(xié)議,會(huì)在響應(yīng)頭加入這行代碼:
Connection:keep-alive在使用長連接的情況下,當(dāng)一個(gè)網(wǎng)頁打開完成后,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接不會(huì)關(guān)閉,客戶端再次訪問這個(gè)服務(wù)器時(shí),會(huì)繼續(xù)使用這一條已經(jīng)建立的連接。Keep-Alive不會(huì)永久保持連接,它有一個(gè)保持時(shí)間,可以在不同的服務(wù)器軟件(如Apache)中設(shè)定這個(gè)時(shí)間。實(shí)現(xiàn)長連接需要客戶端和服務(wù)端都支持長連接。
HTTP協(xié)議的長連接和短連接,實(shí)質(zhì)上是TCP協(xié)議的長連接和短連接。
參考文章:HTTP長連接、短連接究竟是什么?
什么時(shí)候使用長連接、短鏈接?
定義
短連接:例如普通的web請(qǐng)求,在三次握手之后建立連接,發(fā)送數(shù)據(jù)包并得到服務(wù)器返回的結(jié)果之后,通過客戶端和服務(wù)端的四次握手進(jìn)行關(guān)閉斷開。
長連接:區(qū)別于短連接,由于三次握手鏈接及四次握手?jǐn)嚅_,在請(qǐng)求頻繁的情況下,鏈接請(qǐng)求和斷開請(qǐng)求的開銷較大,影響效率。采用長連接方式,執(zhí)行三次握手鏈接后,不斷開鏈接,保持客戶端和服務(wù)端通信,直到服務(wù)器超時(shí)自動(dòng)斷開鏈接,或者客戶端主動(dòng)斷開鏈接。
適用場景
短連接:適用于網(wǎng)頁瀏覽等數(shù)據(jù)刷新頻度較低的場景。
長連接:適用于客戶端和服務(wù)端通信頻繁的場景,例如聊天室,實(shí)時(shí)游戲等。
參考文章:關(guān)于長連接和短連接的理解及使用場景
總結(jié)
以上是生活随笔為你收集整理的什么是长连接和短连接?(长链接、短链接)什么时候使用长连接、短链接?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux大小写敏感和windows大小
- 下一篇: linux dmesg命令(显示开机信息