成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HTTP也有長短之分?HTTP的長連接 vs. 短連接

網絡 網絡管理
你一定聽說過關于http所謂的 長連接和短連接之說。但是,什么是長連接?什么是短連接,我想很多人都是懵懵懂懂的,不能完全說出他們的區別。今天就帶你們完全了解他們,從此再也不會忘記了。

你一定聽說過關于http所謂的 長連接和短連接之說。

但是,什么是長連接?什么是短連接,我想很多人都是懵懵懂懂的,不能完全說出他們的區別。今天就帶你們完全了解他們,從此再也不會忘記了。

[[262514]]

什么是長連接

HTTP長短連接的區別在于使用的TCP的長連接還是短連接。

在HTTP 1.0中默認使用的是短連接,而從HTTP 1.1 之后默認的連接都變為長連接。長短連接的區別?本質上是有TCP連接來決定的,為什么這么說呢?因為TCP是一個向雙通道,他可以保持一段時間不關閉,這樣就有了長連接和短連接的區別了。比方說:在數據的傳輸完成后,保持TCP連接不中斷,等待相同域名再次請求時,繼續使用這個TCP連接通道進行數據傳輸。這個就是長連接。

舉個例子吧,比如你需要郵件一個東西給你的朋友,HTTP協議指的就是你需要填寫的那個快遞單,你寄件的時候填寫的那個快遞單的動作就相當于進行了一次HTTP請求。而你的快遞需要通過交通運輸工具來運送吧,可以是貨車、貨車、高鐵、飛機等等。而TCP協議指的就是那個運送快遞的運輸工具。因為需要運輸啊,就需要有道路啊,地上是公路或者鐵路,天上是航線。那么這個運輸道路就是TCP連接,因為這個道路是雙向的,可以運過來也可以運過去。所以,TCP連接也叫作雙向的數據通道。

如果這個道路長時間都有車來運送貨物,那就叫作長連接。如果運送一段時間后,需要休整沒有車經過了,那么就叫做短連接。

因此我們可以看出來,所謂的HTTP連接指的就是TCP的連接。TCP連接是可以保持一段時間不中斷的就是長連接,發起一次請求后就主動斷開的就是短連接,所以就有了長連接和短連接一說。

那么問題來了,怎么樣的連接才能被稱之為 ----長連接呢?

長連接的條件:

  • ***, 需要將HTTP 的頭部,Connection設置為 keep-alive,但是這里有一個問題出現了,是不是只需要設置Connection 為 keep-alive就算是長連接了呢?這個問題很明顯,當然不是的,你需要在服務器和客戶端都要進行設置。
  • 第二, 我們日常生活中所用的HTTP請求是不是長連接呢?答案很明顯,當然是的了。因為現在的HTTP使用的都是1.1協議了,你細心觀察一下就會發現,它的Connection 都是設置為keep-alive.

那么現在你是不是對keep-alive,很好奇啊。什么是Connection 設置為keep-alive 呢?接下來,我就帶你們來揭開它神秘的面紗。

Keep-alive 又為何方神圣?

我們知道啊,HTTP協議采用的都是“請求-應答”模式,當Connection 為非keep-alive模式,則每一次的 請求-應答任務,服務器和客戶端都需要重新建立一次連接。任務完成后,斷開連接。而當Connection為keep-alive模式,會使服務器與客戶端一直保持連接的狀態。當再有新的請求任務發生時,就不需要重新建立。節約時間,也不用耗費資源。

非keep-alive:

有上面的圖可以看出來:

短連接的步驟:

HTTP也有長短之分?HTTP的長連接vs短連接

長連接的步驟:

HTTP也有長短之分?HTTP的長連接vs短連接

接下來我們就聊一聊 長連接和短連接分別在什么場景下使用?

  • 長連接使用場景:長連接多用于頻繁操作,多次請求的網絡應答響應,而且是一對一,點對點的通信。 例如:數據庫的連接用長連接,如果使用短連接頻繁的應答響應會造成socket報錯,同時也會浪費資源。
  • 短連接的使用場景:短連接怎不會那么耗費資源,因為不需要長時間占用TCP連接。因此,像Web網站中的http服務一般都是用的短連接。因為長連接會占用一定的資源,而像淘寶,京東等網站這樣頻繁的被用戶訪問,趕上雙十一都是上億規模的訪問量,如果使用長連接,每個用戶都占用一個TCP連接通道,那么服務器的壓力可想而知。所以,這種情況下 使用短連接效果比較好。

因為上面我們說到HTTP的連接實際上就是TCP的連接,那么在這里我們就不得不來詳細說一下,TCP的連接有什么特色呢?

TCP 連接

在網絡應答請求時,客戶端與服務器端之間必須建立一個連接,當網絡請求完成之后,雙方就不再需要這個連接時就可以將連接釋放。 而這里采用的是TCP連接,TCP的協議里面的連接,依靠是“三次握手”,釋放時依靠“四次分手”。

因此每一次的連接都是需要耗費資源和時間的。

1. TCP 的“三次握手”:

TCP 的“三次握手”

TCP 的三次握手的示意圖

詳細解釋:

  • ***次握手:客戶端想服務器發送一個SYN 標志位為1的包,以及初始序號X,包裝在包的頭的序列號字段里。
  • 第二次握手:服務器發回ACK(確認包),即將SYN和ACK標志位都命名為1,同時將序列號修改為X+1.
  • 第三次握手:客戶端向服務器再次發送確認包(ACK),SYN標志位為0.ACK標志位為1.同時把服務器發過來的ACK包序列號字段+1.放在包中,發給服務器即ACK=Y+1

2. TCP 的“四次分手”:

因為TCP的斷開需要發送四個包,因此被稱之為 四次揮手。客戶端或服務器端均可主動斷開。在socket 編程中,任何一方執行close()操作即可產生分手操作。

HTTP 協議的長連接和短連接,實質上就是TCP協議的長連接和短連接。

短連接和長連接的工作原理是啥,有啥優勢呢?

  • 短連接:client向server發送請求,server收到請求,雙方建立連接。Client向server發送消息,server響應client.然后一次連接就完成了。此時,雙方都可以發起close操作。
  • 短連接的優點:管理簡單,發起的連接都是有效的連接。不需要額外的控制手段。
  • 長連接:client向server發送請求,server響應client的連接,雙方建立連接。然后完成一次成功的響應請求,之后他們的連接不會主動關閉,后面的讀寫響應請求還會繼續使用這個連接通道。
責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2018-06-06 11:01:25

HTTP長連接短連接

2020-09-05 17:00:20

HTTP長連接短連接

2022-12-02 13:49:41

2011-07-25 16:47:01

HTTP Server PUSH

2021-03-24 09:06:01

MySQL長連接短連接

2021-01-11 05:40:18

HTTPHTTP 協議網絡技術

2024-03-19 08:36:19

2021-11-17 08:21:31

HTTP連接數據

2021-08-03 09:33:55

HTTP網絡協議TCP

2021-08-03 10:10:16

HTTP連接管理

2019-12-13 09:14:35

HTTP2協議

2012-10-31 09:27:46

VDI直連存儲共享存儲

2019-07-02 08:24:07

HTTPHTTPSTCP

2021-01-13 16:04:07

網絡On-Prem托管

2019-11-24 19:34:04

HTTP長連接短連接

2020-08-13 07:54:10

HTTP協議nginx

2010-04-22 17:34:25

2015-03-25 11:47:57

HTTP協議SessionCookie

2018-07-24 13:01:52

前端優化前端性能瀏覽器

2021-06-16 07:05:02

gRPC 網關HTTP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91免费视频观看 | 欧美偷偷| 男女久久久 | 91在线一区二区三区 | 91影视 | 中文字幕男人的天堂 | 精品欧美一区二区三区久久久 | 亚洲欧美日韩精品久久亚洲区 | 中国三级黄色录像 | 亚洲欧美综合精品久久成人 | 久久精品亚洲 | 天堂中文在线观看 | 国产专区在线 | 久久久久国产精品 | 亚洲iv一区二区三区 | 免费在线日韩 | 亚洲一区三区在线观看 | 日韩午夜网站 | 成人在线视频免费观看 | 午夜精品一区二区三区在线 | 国产日韩欧美一区 | 欧美一区二区三区免费电影 | 极品久久 | 一级毛片免费看 | 91大片| 亚洲精品中文字幕在线观看 | 国产精品日本一区二区不卡视频 | 中文字幕中文字幕 | 在线观看黄色 | 欧美大片久久久 | 草草视频在线观看 | 在线一区二区三区 | 精品一区二区三区视频在线观看 | 国产精品三级 | 国产色网 | 免费性视频| 国产精品99久久久久久动医院 | 国内精品视频在线 | 成人网在线看 | 免费看国产精品视频 | 欧美日韩久久 |