專業(yè)的短鏈接生成工具
鏈接域名
短網(wǎng)址有效期
網(wǎng)絡鏈接中的長鏈接和短鏈接是什么意思
更新時間:2025-4-5 04:36:58 作者:愛短鏈
長鏈接和短鏈接根據(jù)字面意思就很好理解了,無非就是一個長一個短,但是實現(xiàn)過程需要通過技術(shù)手段,今天愛短鏈小編就詳細的給大家介紹一下長鏈接和短鏈接到底是什么意思。
首先介紹下短鏈接和長連接的區(qū)別:
短連接
連接>傳輸數(shù)據(jù)>關(guān)閉連接
比如HTTP是無狀態(tài)的的短鏈接,瀏覽器和服務器每進行一次HTTP操作,就建立一次連接,但任務結(jié)束就中斷連接。
具體就是 瀏覽器client發(fā)起并建立TCP連接 > client發(fā)送HttpRequest報文> server接收到報文>server handle并發(fā)送HttpResponse報文給前端,發(fā)送完畢之后立即調(diào)用socket.close>client接收response報文>client最終會收到server端斷開TCP連接的信號>client 端斷開TCP連接,具體就是調(diào)用close方法。
也可以這樣說:短連接是指SOCKET連接后,發(fā)送接收完數(shù)據(jù)后馬上斷開連接。
因為連接后接收了數(shù)據(jù)就斷開了,所以每次數(shù)據(jù)接受處理不會有聯(lián)系。 這也是HTTP協(xié)議無狀態(tài)的原因之一。
長連接
連接>傳輸數(shù)據(jù)>保持連接 > 傳輸數(shù)據(jù)> ...........>直到一方關(guān)閉連接,多是客戶端關(guān)閉連接。
長連接指建立SOCKET連接后不管是否使用都保持連接,但安全性較差。
HTTP在短鏈接和長連接上的選擇:
HTTP是無狀態(tài)的 ,也就是說,瀏覽器和服務器每進行一次HTTP操作,就建立一次連接,但任務結(jié)束就中斷連接。如果客戶端瀏覽器訪問的某個HTML或其他類型的 Web頁中包含有其他的Web資源,如JavaScript文件、圖像文件、CSS文件等;當瀏覽器每遇到這樣一個Web資源,就會建立一個HTTP會話
HTTP1.1和HTTP1.0相比較而言,最大的區(qū)別就是增加了持久連接支持(貌似最新的HTTP1.1 可以顯示的指定 keep-alive),但還是無狀態(tài)的,或者說是不可以信任的。
如果瀏覽器或者服務器在其頭信息加入了這行代碼 Connection:keep-alive
TCP連接在發(fā)送后將仍然保持打開狀態(tài),于是,瀏覽器可以繼續(xù)通過相同的連接發(fā)送請求。保持連接節(jié)省了為每個請求建立新連接所需的時間,還節(jié)約了帶寬。
實現(xiàn)長連接要客戶端和服務端都支持長連接。
什么時候用長連接,短連接?
長連接多用于操作頻繁,點對點的通訊,而且連接數(shù)不能太多情況,。每個TCP連接都需要三步握手,這需要時間,如果每個操作都是先連接,再操作的話那么處理速度會降低很多,所以每個操作完后都不斷開,次處理時直接發(fā)送數(shù)據(jù)包就OK了,不用建立TCP連接。例如:數(shù)據(jù)庫的連接用長連接, 如果用短連接頻繁的通信會造成socket錯誤,而且頻繁的socket 創(chuàng)建也是對資源的浪費。
而像WEB網(wǎng)站的http服務一般都用短鏈接,因為長連接對于服務端來說會耗費一定的資源,而像WEB網(wǎng)站這么頻繁的成千上萬甚至上億客戶端的連接用短連接會更省一些資源,如果用長連接,而且同時有成千上萬的用戶,如果每個用戶都占用一個連接的話,那可想而知吧。所以并發(fā)量大,但每個用戶無需頻繁操作情況下需用短連好。
總之,長連接和短連接的選擇要視情況而定。
愛短鏈平臺各工具使用方法及功能匯總 | |
短鏈接 | 活碼 |
微信外鏈 | 抖音卡片 |