http請求過程

1、瀏覽器根據訪問的域名找到其IP地址。DNS查找過程如下:

1.瀏覽器緩存:瀏覽器會緩存DNS記錄一段時間。

2.系統緩存:如果在瀏覽器緩存里沒有找到需要的域名,瀏覽器會查系統緩存中的記錄。

3.路由器緩存:如果系統緩存也沒找到需要的域名,則會向路由器發送查詢請求。

4.ISP DNS緩存:如果依然沒找到需要的域名,則最后要查的就是ISP緩存DNS的服務器?;蛘呷ジ掌魃蠋湍悴樵?。

2、HTTP請求報文

請求行:是請求消息的第一行,由請求方式(GET/POST/DELETE/PUT)、請求資源路徑、協議版本號組成

請求頭:請求頭中的信息有和緩存相關的頭(Cache-Control,If-Modified-Since)、客戶端身份信息(User-Agent)等等

空行:最后一個請求頭部之后是一個空行,發送回車符和換行符,通知服務器以下不再有請求頭部。

請求數據:請求數據不在GET方法中使用,而在POST方法中使用。POST方法適用于需要客戶填寫表單的場合。與請求數據相關的最常使用的請求頭部是Content-Type和Content-Length。

3、HTTP響應報文

狀態行:由http版本號、狀態碼、狀態說明組成

響應頭:響應頭是服務器傳遞給客戶端用于說明服務器的一些信息,以及將來繼續訪問該資源時的策略。

空行:空行表示消息頭的內容到此為止,接下來該解析消息

響應數據:就是服務器返回的數據信息

4、HTTP請求過程

1.建立TCP連接

在HTTP工作開始之前,Web瀏覽器首先要通過網絡與Web服務器建立連接,該連接是通過TCP來完成的,該協議與IP協議共同構建Internet,即著名的TCP/IP協議族,因此Internet又被稱作是TCP/IP網絡。HTTP是比TCP更高層次的應用層協議,根據規則,只有低層協議建立之后才能,才能進行更層協議的連接,因此,首先要建立TCP連接,一般TCP連接的端口號是80

2.Web瀏覽器向Web服務器發送請求命令

一旦建立了TCP連接,Web瀏覽器就會向Web服務器發送請求命令例如:

3.Web瀏覽器發送請求頭信息

瀏覽器發送其請求命令之后,還要以頭信息的形式向Web服務器發送一些別的信息,之后瀏覽器發送了一空白行來通知服務器,它已經結束了該頭信息的發送。

4.Web服務器應答

客戶機向服務器發出請求后,服務器會客戶機回送應答,HTTP/1.1 200 OK應答的第一部分是協議的版本號和應答狀態碼

5.Web服務器發送應答頭信息

正如客戶端會隨同請求發送關于自身的信息一樣,服務器也會隨同應答向用戶發送關于它自己的數據及被請求的文檔。

6.Web服務器向瀏覽器發送數據

Web服務器向瀏覽器發送頭信息后,它會發送一個空白行來表示頭信息的發送到此為結束,接著,它就以Content-Type應答頭信息所描述的格式發送用戶所請求的實際數據

7.Web服務器關閉TCP連接

Web服務器向瀏覽器發送了請求數據,它就要關閉TCP連接,然后如果瀏覽器或者服務器在其頭信息加入了代碼Connection:keep-alive,TCP連接在發送后將仍然保持打開狀態,于是,瀏覽器可以繼續通過相同的連接發送請求。保持連接節省了為每個請求建立新連接所需的時間。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88026

(0)
cuicui
上一篇 2017-10-23
下一篇 2017-10-23

相關推薦

  • week8

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:          連接不同子網,使其透明通信,它們工作在鏈路層。它們處理的是鏈路層數據,一般來說就是以太     網幀格式的 &nb…

    Linux干貨 2016-12-19
  • 高級文件系統管理之邏輯卷管理

    一,概述 邏輯卷管理器(LVM)     LVM: Logical Volume Manager, Version:2          dm:device mapper (設備映射),將一個或多個底層塊設備組織成一個邏輯設備的模塊 &nb…

    Linux干貨 2016-09-10
  • linux發展史

    Linux 發展史 說明 此前對linux認識模糊一知半解,近期通過學習將自己對于linux的發展總結一下方便大家日后的學習。那Linux是目前一款非?;馃岬拈_源操作系統,可是linux是什么時候出現的,又是因為什么樣的原因被開發出來的呢。以下將對linux的發展歷程進行詳細的講解。    目錄 一、Linux發展背景 二、UINIX的誕…

    Linux干貨 2016-10-14
  • 合并 CentOS 6.8 的兩個iso鏡像

    合并 CentOS 6.8 的兩個iso鏡像 合并 CentOS 6.8 的兩個DVD鏡像 1、創建相關目錄:                              &nbsp…

    Linux干貨 2017-04-24
  • 計劃任務

    作業管理: Linux的作業控制(job )     前臺作業:通過終端啟動,且啟動后一直占據終端;     后臺作業:可通過終端啟動,但啟動后即轉入后臺運行(釋放終端) 如何讓作業運行于后臺?     (1) 運行中的…

    Linux干貨 2016-09-08
  • 腳本函數與程序包管理

    一、函數調用 1.while循環的特殊用法(遍歷文件的每一行): while read line; do    循環體done < /PATH/FROM/SOMEFILE 依次讀取/PATH/FROM/SOMEFILE文件中的每一行,且將行賦值給變量line示例:掃描/etc/passwd文件每一行,如發現GECOS字段為…

    Linux干貨 2016-08-21
欧美性久久久久