從瀏覽器中輸入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/
           三次握手:簡化版:  甲:你瞅啥  乙:瞅你咋地  甲:不服來一發啊    甲和乙就來一發數據了。
                           參考:http://blog.csdn.net/whuslei/article/details/6667471/ (三次握手+四次握手)

5.握手成功後,就可以來一發數據了,不過首先瀏覽器得向服務器發送http請求(如果是http協議)和請求數據包
           http請求就是用什麼版本的協議請求,請求的方式是什麼,你想要什麼數據,這些數據是什麼格式,
           http請求參考:http://canrry.iteye.com/blog/1331292
                                 http://www.cnblogs.com/loveyakamoz/archive/2011/07/22/2113614.html

6.請求通過網絡,服務器收到了請求,進行處理後,將需要的數據(http響應頭)返回瀏覽器
           有請求就要響應,那服務器通過物理地址的取數據和邏輯處理,將數據以響應頭的形式返回
           數據在網絡中傳輸的過程十分複雜,網絡中傳輸一共有7層,每一層數據的形式有有所差異
           數據包網絡的傳輸參考:http://www.tuicool.com/articles/F3Qvie3
                                               http://www.cnblogs.com/hnrainll/archive/2012/11/07/2758191.html
           http響應頭參考:http://canrry.iteye.com/blog/1331292

7.瀏覽器收到http響應頭,此時就要讀取數據了,進行瀏覽器渲染,解析html代碼巴拉巴拉,這裏我也不是很懂,希望大家積極瀏覽交流!
               
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章