美女18一级毛片一品久道久久综合,国产精品yjizz视频网,国产成人一二,精品久久久中文字幕

搜索歷史

清除歷史

熱門搜索

網絡工作室網站建設seo優化小程序

零基礎干貨

零基礎干貨

SERVICE CENTER

Httpwebrequest keepalive釋義

網站建設 2021/12/13 20:31:11    管理員    閱讀 1048

KeepAlive出現的原因:

當一個客戶端向服務器發送http請求時,兩者之間會建立一個tcp連接,然后服務器發回響應信息同時關閉連接。如果請求的的頁面中含有別的資源連接,比如圖片、flsah等,就會再次創建連接。KeepAlive的作用就是在第一次創建連接時,服務器會把這個tcp連接保持一段時間(服務器端會有一個keepaliveTime的最大時間,超過時間就斷開連接)。這樣就不會頻繁的去建立tcp連接,同一次請求中的信息傳遞都可以使用同一個tcp連接。


KeepAlive的工作原理:

在HTTP1.0和HTTP1.1協議中都有對KeepAlive的支持。其中HTTP1.0需要在request中增加“Connection: keep-alive” header才能夠支持,而HTTP1.1默認支持。



HTTP1.0 KeepAlive支持的數據交互流程如下:

a)Client發出request,其中該request的HTTP版本號為1.0。同是在request中包含一個header:“Connection: keep-alive”。

b)Web Server收到request中的HTTP協議為1.0及“Connection: keep-alive”就認為是一個長連接請求,其將在response的header中也增加“Connection: keep-alive”。同是不會關閉已建立的tcp連接。

c)Client收到Web Server的response中包含“Connection: keep-alive”,就認為是一個長連接,不close tcp連接。并用該tcp連接再發送request。(跳轉到a))




HTTP1.1 KeepAlive支持的數據交互流程如下:

a)Client發出request,其中該request的HTTP版本號為1.1。

b)Web Server收到request中的HTTP協議為1.1就認為是一個長連接請求,其將在response的header中也增加“Connection: keep-alive”。同是不會關閉已建立的tcp連接。

c)Client收到Web Server的response中包含“Connection: keep-alive”,就認為是一個長連接,不close tcp連接。并用該tcp連接再發送request。(跳轉到a))


關于KeepAlive的分析:

現在的一些服務器都可以設置KeepAlive是否開啟,以及KeepAlive的超時時間,服務器支持的KeepAlive數量(數量一般不會很大,否則會對服務器產生很大的壓力)。

那么我們考慮3種情況:

  1、用戶瀏覽一個網頁時,除了網頁本身外,還引用了多個 javascript 文件,多個 css 文件,多個圖片文件,并且這些文件都在同一個 HTTP 服務器上。

  2、用戶瀏覽一個網頁時,除了網頁本身外,還引用一個 javascript 文件,一個圖片文件。

  3、用戶瀏覽的是一個動態網頁,由程序即時生成內容,并且不引用其他內容。



對于上面3中情況,1 最適合打開 KeepAlive ,2 隨意,3 最適合關閉 KeepAlive

打 開 KeepAlive 后,意味著每次用戶完成全部訪問后,都要保持一定時間后才關閉會關閉 TCP 連接,那么在關閉連接之前,必然會有一個服務器進程對應于該用戶而不能處理其他用戶,假設 KeepAlive 的超時時間為 10 秒種,服務器每秒處理 50 個獨立用戶訪問,那么系統中 Apache 的總進程數就是 10 * 50 = 500 個,如果一個進程占用 4M 內存,那么總共會消耗 2G 內存,所以可以看出,在這種配置中,相當消耗內存,但好處是系統只處理了 50次 TCP 的握手和關閉操作。



如果關閉 KeepAlive,如果還是每秒50個用戶訪問,如果用戶每次連續的請求數為3個,那么 Apache 的總進程數就是 50 * 3 = 150 個,如果還是每個進程占用 4M 內存,那么總的內存消耗為 600M,這種配置能節省大量內存,但是,系統處理了 150 次 TCP 的握手和關閉的操作,因此又會多消耗一些 CPU 資源。

————————————————

版權聲明:本文為CSDN博主「H-G-Y」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/go_to_learn/article/details/8147673


TAG標簽:HttpWebRequestKeepAlive
鏈接地址:/html/tech/wzjs/507.html
鄭重聲明:以上內容來源自玖捌網絡工作室,轉載請注明出處!

兼顧高品質與個性化的界面設計

網站無須三方授權 · 安全穩定、維護方便

玖捌網絡工作室
18972931619
掃碼獲取最新報價
0.054950
主站蜘蛛池模板: 岳普湖县| 成武县| 青龙| 绵竹市| 厦门市| 易门县| 嘉义市| 慈利县| 神农架林区| 隆安县| 沅陵县| 临泉县| 昌宁县| 洛浦县| 四平市| 龙山县| 吉首市| 临清市| 八宿县| 蒙自县| 华坪县| 永平县| 湟中县| 开鲁县| 阳西县| 青阳县| 四会市| 偃师市| 平顺县| 大宁县| 丰台区| 白水县| 南郑县| 加查县| 泸州市| 定边县| 菏泽市| 武宣县| 宝兴县| 弋阳县| 民勤县|