1. 程式人生 > >在瀏覽器輸入一個網址,如http //www taobao com,按回車之後發生了什麼

在瀏覽器輸入一個網址,如http //www taobao com,按回車之後發生了什麼

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

當在瀏覽器中輸入一個網址後的處理過程如下:


1、瀏覽器根據域名查詢域名對應的伺服器的IP地址。

根據域名查詢IP地址的順序如下:


瀏覽器DNS >>> 作業系統DNS快取 >>> 本地(ISP)域名伺服器快取 >>> 根域名伺服器。


在請求到根域名伺服器之後,根域名伺服器告訴本地域名伺服器,下一次應查詢的頂級域名伺服器dns.com的IP地址。

本地域名伺服器向頂級域名伺服器dns.com進行查詢,頂級域名伺服器dns.com告訴本地域名伺服器,下一步應查詢的許可權伺服器dns.abc.com的IP地址。

本地域名伺服器向許可權域名伺服器dns.abc.com進行查詢,許可權域名伺服器dns.abc.com告訴本地域名伺服器,所查詢的主機的IP地址。

最終查詢到IP地址之後,本地域名伺服器將IP地址告訴給瀏覽器。


2、瀏覽器主機根據IP地址與伺服器建立TCP連線。

建立TCP連線需要進行三次握手。

(1)瀏覽器主機 >>> 伺服器:SYN=1,ACK=0,seq=x;

(2)伺服器 >>> 瀏覽器主機:SYN=1,ACK=1,seq=y,ack=y+1;

(3)瀏覽器主機 >>> 伺服器:ACK=1,seq=x+1,ack=y+1。


3、瀏覽器將訪問請求封裝為一個HTTP請求報文,通過TCP協議傳送給伺服器。

HTTP請求報文的方法是get方式;如果瀏覽器儲存了該域名下的Cookies,那麼會把Cookies放入HTTP請求頭裡發給伺服器。


4、伺服器收到請求並響應,生成一個HTTP響應報文,通過TCP協議傳送給瀏覽器主機。

HTTP響應報文的頭部包含了狀態碼(Status-Code),三位數字,有5大類。HTTP響應報文內容則是網頁的編碼內容。


5、瀏覽器得到響應報文之後,對響應報文進行解析。

在瀏覽器沒有完整接受全部HTML文件時,它就已經開始顯示這個頁面了。如果是個靜態的頁面,那到此就基本結束了。如果是是動態的,那麼在瀏覽器顯示HTML時,會獲取嵌入在HTML中的物件,瀏覽器會發送獲取請求來重新獲得這些檔案。


6、瀏覽器非同步請求其他資源。

在分析HTML時,若發現網頁引用了其他資源,例如:css、圖片等,瀏覽器則發起HTTP請求,得到響應資源。



參考資料:

http://www.nowcoder.com/questionTerminal/4150a74bd14d4bd3a0d3f133376c97c7

http://blog.csdn.net/zhangzqit/article/details/49814951


           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述