此文是我總結了一些經驗和各種大神知識綜合而成的。
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/41630389DNS緩存:首先客戶機將域名查詢請求發送到本地DNS服務器,本地DNS服務器先在之前的記錄(緩存)中查找,如果有緩存,則直接利用緩存進行解析,如果沒有緩存,則進入本地的緩存的尋找。本地緩存:如果本地服務器不能在本地找到緩存,則將請求發送到根域名DNS服務器(全球13臺呢哈哈哈)本地服務器與網絡服務器:本地服務器是內部局域網的設備才能訪問,沒有公網的IP,網絡服務器有公網IP,屬於城域網更大的巴拉巴拉,即屬於internet3.請求終於來到了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/13312926.請求通過網絡,服務器收到了請求,進行處理後,將需要的數據(http響應頭)返回瀏覽器有請求就要響應,那服務器通過物理地址的取數據和邏輯處理,將數據以響應頭的形式返回數據在網絡中傳輸的過程十分複雜,網絡中傳輸一共有7層,每一層數據的形式有有所差異數據包網絡的傳輸參考:http://www.tuicool.com/articles/F3Qvie3http響應頭參考:http://canrry.iteye.com/blog/13312927.瀏覽器收到http響應頭,此時就要讀取數據了,進行瀏覽器渲染,解析html代碼巴拉巴拉,這裏我也不是很懂,希望大家積極瀏覽交流!
從瀏覽器中輸入url地址到瀏覽器中顯示網頁內容 的過程分析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.