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