一、http是如何使用tcp連線的?
http連線本質就是tcp連線和一些使用連線的規則。所有的http通訊都是由tcp/ip來承載的。tcp/ip是全球計算機及網路裝置都在使用的一種常用的分組交換的網路分層協議集。客戶端程式開啟一條tcp/ip連線。連線到可能執行在世界任何地方的伺服器應用程式。
1.tcp流是分段的,由ip分組傳送
網路協議棧
http要傳送一條報文的時候,會以流的形式將報文資料的內容通過一條開啟的tcp連線按照順序傳輸。tcp收到資料流後,會將資料流分成被稱之為段的小資料塊,並將段封裝在ip分組中,通過
網際網路進行傳輸,見下圖。這些工作都是tcp/ip軟體來處理的,http程式設計師什麼都看不到。
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.正常關閉
http系列2 連線管理
思維導圖 http是基於tcp進行連線的。tcp時延包括三次握手,慢啟動等 如果只是簡單的序列連線,每個事務都需要建立一條新的連線 tcp的效能時延可能會疊加。http允許客戶端開啟多條連線,並行的執行多個http事務。http1.1 使用的就是並行連線,即同時傳送多條http請求,每次都會同時重新...
http協議學習 連線管理
出自 4.1 tcp連線 tcp為http提供了一條可靠的位元傳輸管道,按順序正確的傳輸,步驟如下 瀏覽器解析主機名。查詢這個主機名的ip位址 dns 獲得埠號。瀏覽器對伺服器該埠號發起連線。向伺服器傳送請求報文。從伺服器獲取響應報文。連線關閉。4.1.2 tcp流是分段的 由ip分組傳送 tcp的...
讀書筆記2 HTTP協議
http hypertext transfer protocol,超文字傳輸協議 是在全球資訊網上進行通訊時 所使用 的協議方案。了解http協議的地位之前首先簡單了解一下網路協議分層。http處於網路協議的應用層協議。定義http報文就是資料交換標準和文字資料的集合。好比物流裡的包裹。組成star...