1. 輸入網(wǎng)址
我們以www.facebook.com為例
2. 域名解析
- 2.1 DNS查找過程
- 瀏覽器緩存:瀏覽器會(huì)緩存DNS一段時(shí)間(2-30分鐘不定,視瀏覽器情況而定)。
- 系統(tǒng)緩存:如果瀏覽器中沒有緩存,則在windows里面的gethostbyname獲取DNS緩存信息。(對(duì)應(yīng)的有 DNS劫持更改攻擊)
- 路由器緩存:如果在系統(tǒng)緩存里面也沒有緩存,則在路由器里面也會(huì)有DNS緩存;
- ISP的DNS緩存:如果路由器緩存還是沒有,這個(gè)請(qǐng)求就會(huì)被發(fā)送到ISP(因特網(wǎng)服務(wù)供應(yīng)商,就是中國(guó)移動(dòng),電信。。。)的DNS服務(wù)器查詢緩存。
- 根域名服務(wù)器:如果ISP緩存還是沒有,則向根域名服務(wù)器進(jìn)行搜索。(根域名服務(wù)器是面向全球的13臺(tái)頂級(jí)DNS服務(wù)器,邏輯編號(hào)A-M,分布于全球各大州,這些服務(wù)器有真正完整的DNS數(shù)據(jù)庫)。如果到這步還沒有,說明此域名不存在,或者這個(gè)域名沒有被注冊(cè)。
-
遞歸查找——DNS緩存里沒有的話,ISP DNS服務(wù)器會(huì)先后從根域名服務(wù)器(root)、.com頂級(jí)域名服務(wù)器、Facebook域名服務(wù)器獲取IP(一般緩存內(nèi)都會(huì)有,所以這一步一般不會(huì)發(fā)生)
這也就是為什么打開一個(gè)新頁面會(huì)有點(diǎn)慢,因?yàn)楸镜貨]什么緩存,要這樣遞歸地查詢下去。
多說一句,例如"mp3.baidu.com",域名先是解析出這是個(gè).com的域名,然后跑到管理.com域名的服務(wù)器上進(jìn)行進(jìn)一步查詢,然后是.baidu,最后是mp3,
所以域名結(jié)構(gòu)為:三級(jí)域名.二級(jí)域名.一級(jí)域名。
- 2.2 多IP域名 DNS查詢解決方案
- 循環(huán)DNS:一個(gè)域名對(duì)應(yīng)DNS列表,循環(huán)DNS;
- 負(fù)載均衡:一個(gè)特定的IP負(fù)載均衡服務(wù)器(反向代理服務(wù)器)接受請(qǐng)求并轉(zhuǎn)發(fā)給服務(wù)器集群的某一個(gè),實(shí)現(xiàn)多個(gè)域名的負(fù)載均衡;
- 地理DNS:根據(jù)用戶的地理信息,返回一個(gè)IP(應(yīng)用:CDN);
- anycast:一個(gè)IP映射多個(gè)物理主機(jī)技術(shù);
3. 發(fā)送Http請(qǐng)求
link:http://www.itdecent.cn/p/1fb8a89a0b32
參考
