一次Web請求過程詳解

轉載至:http://www.nowamagic.net/librarys/veda/detail/1339html

HTTP通訊機制是在一次完整的HTTP通訊過程當中,Web瀏覽器與Web服務器之間將完成下列7個步驟: 瀏覽器

1. 創建TCP鏈接服務器

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

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

一旦創建了TCP鏈接,Web瀏覽器就會向Web服務器發送請求命令。例如:GET/sample/hello.jsp HTTP/1.1。spa

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

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

4. Web服務器應答 blog

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

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

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

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

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

7. Web服務器關閉TCP鏈接 

通常狀況下,一旦Web服務器向瀏覽器發送了請求數據,它就要關閉TCP鏈接,而後若是瀏覽器或者服務器在其頭信息加入了這行代碼:

Connection:keep-alive 

TCP鏈接在發送後將仍然保持打開狀態,因而,瀏覽器能夠繼續經過相同的鏈接發送請求。保持鏈接節省了爲每一個請求創建新鏈接所需的時間,還節約了網絡帶寬。

 

如下轉載至:http://www.cnblogs.com/SanMaoSpace/archive/2013/06/12/3132489.html

客戶端解析HTML步驟以下:

<1>.解析HTML結構;
<2>.加載外部腳本和樣式表文件;
<3>.解析並執行腳本代碼;
<4>.構造HTML DOM模型;
<5>.加載圖片等外部文件。

onload和ready的差別:
這裏須要注意的是onload和ready的差別:
一是ready,表示DOM文檔樹已經加載解析解析完成(不包含圖片等非文字媒體文件);
二是onload,指頁面上全部的資源(包含圖片等文件在內的全部元素)都加載完畢。

說ready比onload快最顯著的是好比一個頁面上有一個很大的圖片,加載要很久,onload只有在圖片加載完成以後執行,而ready沒必要等圖片加載完成。
這種差別與window.onload和$(document).ready()的區別也是一致的吧。

相關文章
相關標籤/搜索