連接管理
一、http是如何使用tcp連接的?
http連接本質就是tcp連接和一些使用連接的規則。所有的http通訊都是由tcp/ip來承載的。tcp/ip是全球計算機及網絡設備都在使用的一種常用的分組交換的網絡分層協議集。客戶端程序打開一條tcp/ip連接。連接到可能運行在世界任何地方的服務器應用程序。
1.tcp流是分段的,由ip分組傳送
網絡協議棧
http要傳送一條報文的時候,會以流的形式將報文數據的內容通過一條打開的TCP連接按照順序傳輸。TCP收到數據流后,會將數據流分成被稱之為段的小數據塊,并將段封裝在ip分組中,通過
因特網進行傳輸,見下圖。這些工作都是TCP/IP軟件來處理的,HTTP程序員什么都看不到。
2.一個tcp連接是由4個值來識別的,<源ip地址:源端口 ? ?目的ip地址:目的端口> tcp 是通過端口號來保持所有這些連接的正確運行的。
3. tcp客戶端和服務器是通過tcp套接字接口來進行通訊的,如下圖所示:
對上圖的說明:
web服務器等待連接(S4),客戶端根據URL判定出IP地址和端口號,并建立一條到服務器的TCP連接C3,連接建立成功,客戶端發送http請求C5,服務器讀取請求S6,
服務器對請求進行處理,執行請求的動作S7,客戶端讀取數據C6,客戶端處理數據。
?
二、TCP連接的時延、瓶頸、存在的障礙
1.tcp連接建立握手
2.tcp慢啟動擁塞機制
3.數據聚集的Nagle算法
4.用于捎帶確認 的TCP確認suanfa
5.TIME_WAIT 時延和端口耗盡
三、HTTP連接的優化
? ?1.并行連接
并行連接可能會提高頁面的訪問速度,但是并行連接不一定很快
2.持久連接keep-alive
3.管道化連接 http/1.1
四、關閉連接
1.任意時刻可以關閉連接
2.Content-Length及截尾
3.連接關閉容限、重試及冪等性
4.正常關閉
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
