瀏覽器中輸入URL到返回頁面的全過程

來源:互聯網
上載者:User

標籤:

第一步,解析網域名稱,找到主機IP

(1)瀏覽器會緩衝DNS一段時間,一般2-30分鐘不等。如果有緩衝,直接返回IP,否則下一步。

(2)緩衝中無法找到IP,瀏覽器會進行一個系統調用,查詢hosts檔案。如果找到,直接返回IP,否則下一步。(在電腦本地目錄etc下有一個hosts檔案,hosts檔案中儲存有網域名稱與IP的對應解析,通常也可以修改hosts科學上網或破解軟體。)

(3)進行了(1)(2)本地查詢無果,只能藉助於網路。路由器一般都會有自己的DNS緩衝,ISP服務商DNS緩衝,這時一般都能夠得到相應的IP。如果還是無果,只能藉助於DNS遞迴解析了。

(4)這時,ISP的DNS伺服器就會開始從根網域名稱伺服器開始遞迴搜尋,從.com頂級網域名稱伺服器,到baidu的網域名稱伺服器。

 

到這裡,瀏覽器就獲得了IP。在DNS解析過程中,常常會解析出不同的IP。比如,電信的是一個IP,網通的是另一個IP。這是採取了智能DNS的結果, 降低電訊廠商間訪問延時,在多個電訊廠商設定主機房,就近訪問主機。電信使用者返回電信主機IP,網通使用者返回網通主機IP。當然,劫持DNS,也可以屏蔽掉一 部分網點的訪問,某防火長城也加入了這一特性。

 

第二部,瀏覽器與網站建立TCP串連

 

瀏覽器利用IP直接與網站主機通訊。瀏覽器發出TCP(SYN標誌位為1)串連請求,主機返回TCP(SYN,ACK標誌位均為1)應答報文,瀏覽器收到 應答報文發現ACK標誌位為1,表示串連請求確認。瀏覽器返回TCP()確認報文,主機收到確認報文,三向交握,TCP連結建立完成。

 

第三部分,瀏覽器發起GET請求

 

瀏覽器向主機發起一個HTTP-GET方法報文請求。請求中包含訪問的URL,也就是http://www.baidu.com/ ,還有User-Agent使用者瀏覽器作業系統資訊,編碼等。值得一提的是Accep-Encoding和Cookies項。Accept- Encoding一般採用gzip,壓縮之後傳輸html檔案。Cookies如果是首次訪問,會提示伺服器建立使用者緩衝資訊,如果不是,可以利用 Cookies對應索引值,找到相應緩衝,緩衝裡面存放著使用者名稱,密碼和一些使用者佈建項。

 

第四部分,顯示頁面或返回其他

返回狀態代碼200 OK,表示伺服器可以相應請求,返回報文,由於在前序中Content-type為“text/html”,瀏覽器以HTML形式呈現,而不是下載檔案。

 

但是,對於大型網站存在多個主機網站,往往不會直接返回請求頁面,而是重新導向。返回的狀態代碼就不是200 OK,而是301,302以3開頭的重新導向碼,瀏覽器在擷取了重新導向響應後,在響應報文中Location項找到重新導向地址,瀏覽器重新第一步訪問即可。

補充一點的就是,重新導向是為了負載平衡或者匯入流量,提高SEO排名。利用一個前端伺服器接受請求,然後負載到不同的主機上,可以大大提高網站的業務並發 處理能力;重新導向也可將多個網域名稱的訪問,集中到一個網站;由於baidu.com,www.baidu.com會被搜尋引擎認為是兩個網站,照成每個的鏈 接數都會減少從而降低排名,永久重新導向會將兩個地址關聯起來,搜尋引擎會認為是同一個網站,從而提高排名。

瀏覽器中輸入URL到返回頁面的全過程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.