1. 程式人生 > >從瀏覽器中輸入url地址到瀏覽器中顯示網頁內容 的過程分析

從瀏覽器中輸入url地址到瀏覽器中顯示網頁內容 的過程分析

此文是我總結了一些經驗和各種大神知識綜合而成的。

 1.首先當然是瀏覽器紅輸入url地址,            但是當你輸入baidu 為什麼最終的URL地址是www.baidu.com呢?            當你輸入baidu的時候,在url的後面是不是預設的給你新增上.com,如果是這樣,哈哈,那這第一步就是沒有錯誤的。            當你的URL程式設計baidu.com的時候,baidu.com是一個一級域名,那你訪問一個域名的時候,在Apache或者nginx上面的配置中就會給你訪問一個預設的二級域名(當你沒有寫完整時),這中間的過程十分的複雜,因為你直接訪問baidu.com和訪問www.baidu.com不僅僅是名字上的差別,而涉及到了一個重定向的問題,有想深入的孩子可以多查閱一下資料,或者也可以和我交流
2.輸入你的url地址之後,瀏覽器就開始好好工作了,尋找瀏覽器快取(可以從瀏覽器快取中取資料),系統快取,路由器(有時候也叫DNS快取)快取,看看有沒有快取過這個url中的資訊啊,這對於快速反應有著很大的幫助,有快取就可以直接呼叫快取了,沒有的話就去訪問DNS伺服器吧            瀏覽器快取參考:點選開啟連結  http://blog.csdn.net/longxibendi/article/details/41630389            DNS快取:首先客戶機將域名查詢請求傳送到本地DNS伺服器,本地DNS伺服器先在之前的記錄(快取)中查詢,如果有快取,則直接利用快取進行解析,如果沒有快取,則進入本地的快取的尋找。
           本地快取:如果本地伺服器不能在本地找到快取,則將請求傳送到根域名DNS伺服器(全球13臺呢哈哈哈)            本地伺服器與網路伺服器:本地伺服器是內部區域網的裝置才能訪問,沒有公網的IP,網路伺服器有公網IP,屬於都會網路更大的巴拉巴拉,即屬於internet 3.請求終於來到了DNS伺服器,DNS伺服器將域名解析成IP地址,            域名解析:由於網路識別不認識什麼域名,這些都是字元組合的,計算機當然不認識,IP地址就認識了,域名解析就是將域名轉化成ip地址            DNS:domain name system 域名系統                          域名為什麼存在呢,就是看一串ip地址會很難記住啊,就有了域名
           域名結構:我們來看一個域名                             .com 頂級域名 這是全球頂級域名                           baidu.com 這是一級域名,一級域名就是在頂級域名前面加上一級                           www.baidu.com  這是二級域名,百度的二級域名很多,還有tieba.baidu.com等等,可以上網搜一搜            http://:大家基友疑問了,這不是域名嗎?這是一種傳輸協議,還有很多其他的傳輸協議,就是網上傳輸東西的時候遵循的原則            IP地址:網際網路上面的每一臺主機有一個屬於自己的IP地址,用來遮蔽物理性的差異,IP地址就像現實中的住址一樣,有了IP就有了目標地了。 4.瀏覽器有了IP就可以找到伺服器,兩者之間就可以建立TCP連線,伺服器需要和瀏覽器建立tcp三次握手(打好招呼,要來一發資料了)            TCP連線參考點選開啟連結:http://blog.163.com/hlz_2599/blog/static/142378474201151943414397/            三次握手:簡化版:  甲:你瞅啥  乙:瞅你咋地  甲:不服來一發啊    甲和乙就來一發資料了。 5.握手成功後,就可以來一發資料了,不過首先瀏覽器得向伺服器傳送http請求(如果是http協議)和請求資料包            http請求就是用什麼版本的協議請求,請求的方式是什麼,你想要什麼資料,這些資料是什麼格式, 6.請求通過網路,伺服器收到了請求,進行處理後,將需要的資料(http響應頭)返回瀏覽器            有請求就要響應,那伺服器通過實體地址的取資料和邏輯處理,將資料以響應頭的形式返回            資料在網路中傳輸的過程十分複雜,網路中傳輸一共有7層,每一層資料的形式有有所差異 7.瀏覽器收到http響應頭,此時就要讀取資料了,進行瀏覽器渲染,解析html程式碼巴拉巴拉,這裡我也不是很懂,希望大家積極瀏覽交流!