http工作原理

2022-09-06 19:09:11 字數 1875 閱讀 4995

http  超文字傳輸協議

www伺服器傳輸超文字到本地瀏覽器的傳輸協議

(詳情請參考(本文參考於)

計算機間的通訊

tcp:傳輸控制協議

ip :網際協議

ip協議

ip協議是計算機用來相互識別的機制。

每台計算機在internet上都有乙個ip,通過識別ip可以定向傳輸和傳送資料報,但是這個協議不保證包到達的順序和完整性(只檢查關鍵的頭資料)

tcp協議

tcp協議確保包的到達順序,並嘗試檢查包又沒改變。

tcp負責將資訊包切割,在到達時進行重組。

tcp在ip上引入埠,部分埠被保留,用於一些服務。例如80埠用於www的http通訊流出。

但乙個應用程式想通過tcp與另一應用程式通訊,流程:

發乙個請求(必須用切確的位址)(握手);

握手成功後,tcp會在兩應用程式之間建立乙個全雙工的通訊,占用兩個應用程式的通訊線路。

tcp/ip協議

tcp/ip就是兩個協議的協同工作。

tcp負責應用程式間的通訊,ip負責計算機間的通訊。

過程tcp將資料報切割並放入ip包中,ip負責將包傳送到接收者處(ip路由定址),到達後tcp將資料報進行重組。

http  協議基於tcp/ip

http是由請求和響應組成,請求/應答模型。是乙個標準的客戶端伺服器的模型(b/s)。所以http協議永遠是由客戶端發起的,伺服器響應。

http是乙個無狀態協議,客戶端與伺服器端不需要長連線。一次請求和響應完成後,連線就會關閉。在伺服器端不儲存任務連線資訊。

http工作過程

過程:客戶端訪問某url,從url解析出  協議名

主機號埠號

物件路徑 ,如:

url: 

協議名:http

主機號:47.52.97.152  (注:如果主機號處是網域名稱,還要進行網域名稱解析(dns系統解析)為ip)

埠號:3000

物件路徑:/index.html

2.封裝成http請求包:

將位址解析的資訊和本機資訊,封裝成乙個http請求包

3.封裝成tcp包,建立tcp連線(3次握手)

4.客戶端傳送請求

5.服務端響應

6.伺服器關閉請求連線

但如果瀏覽器或伺服器端在頭資訊中加入connection:keep-alive,此次連線將保持連線,之後的請求可以繼續通過此次的連線進行通訊,節省請求新連線時間,節省頻寬。但設定設定為connection:close就會中斷。

http 1.0中預設是關閉的,需要在http頭加入"connection: keep-alive",才能啟用keep-alive;http 1.1中預設啟用keep-alive,如果加入"connection: close ",才關閉。目前大部分瀏覽器都是用http1.1協議,也就是說預設都會發起keep-alive的連線請求了,所以是否能完成乙個完整的keep-alive連線就看伺服器設定情況。

本文參考於:**於網路

Http工作原理

http1.1 與 http1.0向後相容,執行1.1版本的web伺服器可以與執行1.0版本的瀏覽器 對話 執行1.1版本的瀏覽器也可以與執行1.0版本的web伺服器對話。http和tcp的關係 雖然http1.1和http1.0協議本身沒有規定支援其傳輸的底層協議是哪種協議,但通常情況下都是架構在...

http工作原理

客戶機與伺服器建立連線後,傳送乙個請求給伺服器,請求格式為 統一資源識別符號 協議版本號。伺服器收到請求的資訊 包括請求行,請求頭,請求體 伺服器接收到請求後,給予相應的響應資訊,格式為乙個狀態行 包括響應行,響應頭,響應體 在internet上,http通訊通常發生在tcp ip連線之上。預設埠是...

HTTP工作原理

以下是 http 請求 響應的步驟 客戶端連線到web伺服器 乙個http客戶端,通常是瀏覽器,與web伺服器的http埠 預設為80 建立乙個tcp套接字連在這裡插入 片接。例如,傳送http請求 通過tcp套接字,客戶端向web伺服器傳送乙個文字的請求報文,乙個請求報文由請求行 請求頭部 空行和...