HTTP訪問服務的相關解釋

一、訪問網站的基本流程

    第一步:客戶端用戶在瀏覽器輸www.51cto.com網站,回車後,系統首先會查找系統本地的DNS緩存及hosts文件信息,確定是否存在www.51cto.com餘名對應的IP解析記錄,如果有就直接獲取IP地址,然後去訪問這個IP地址對應餘名www.51cto.com的服務器。一般第一次請求的時候,DNS緩存是沒有解析記錄的,而hosts躲在內部臨時測試時使用。

    第二步:如果客戶端本地DNS緩存及hosts文件沒有www.51cto.com餘名對應的解析記錄,那麼,系統會把瀏覽器的解析請求發送給客戶端本地設置的DNS服務器地址(稱爲LDNS)解析,如果LDNS服務器的本地緩存有對應的解析記錄就會直接返回IP地址給客戶端;如果沒有,則LDNS會負責繼續請求其他的DNS服務器。

    第三步:LDNS從DNS系統的根開始請求對www.51cto.com餘名的解析,並針對各個層級的DNS服務器系統進行一系列的查找,最終會查找到51cto.com域名對應的授權DNS服務器,而這個授權DNS服務器正式企業購買域名時用於管理域名解析的服務器,這個授權服務器會有www.51cto.com對應的IP解析記錄。如果此時沒有,就表示企業的域名管理人員沒有爲www.51cto.com域名做解析設置,即網站還沒有架設好。

    第四步:51cto.com餘名的授權DNS服務器會把www.51cto.com對應的最終IP解析記錄發給LDNS。

    第五步:LDNS把來自授權DNS服務器的www.51cto.com對應的IP解析記錄發給客戶端瀏覽器,並且它會把該域名和IP地址的對應解析緩存起來,以便下一次更快的返回相同解析請求的記錄,這些緩存記錄在指定的時間(DNS TTL)內不會過期。

    第六步:客戶端瀏覽器獲取了www.51cto.com對應的IP地址,接下來,瀏覽器會請求獲得IP地址對應的網站服務器,網站服務器接收到客戶的請求並響應處理(此處的處理可能是數百臺集羣的服務器系統,也可能是一臺雲主機),將客戶請求的內容返回給客戶端瀏覽器。至此,一次訪問瀏覽網頁的完整過程也就完成了。

    附:

(1)查看windows客戶端的本地緩存記錄:

ifconfig /displaydns

(2)清楚Windows客戶端本地緩存DNS記錄:

ifconfig /flushdns

(3)Windows系統下的hosts域名解析記錄位置:

C:\Windows\System32\drivers\etc\hosts

二、DNS系統解析基本流程

DNS簡介

A記錄----把餘名解析爲對應的IP地址。

CNAME別名記錄--別名解析功能常備CDN加速服務商應用

MX郵件記錄--MX記錄功能,在購買或搭建郵件服務器時會被用到

PTR記錄--反向解析,即把IP地址解析爲對應域名,和A記錄的解析相反,此功能在郵件服務業務中會用

wKiom1fvvOzj2WqVAACIHoN53c0064.jpg-wh_50

DNS解析流程圖

wKiom1fvv2niTTGgAAFPQz6r41k630.jpg-wh_50


通過dig命令來實踐理解DNS解析流程

[root@alon ~]# dig +trace www.51cto.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> +trace www.51cto.com
;; global options: +cmd
.            47942    IN    NS    j.root-servers.net.
.            47942    IN    NS    f.root-servers.net.
.            47942    IN    NS    b.root-servers.net.
.            47942    IN    NS    h.root-servers.net.
.            47942    IN    NS    e.root-servers.net.
.            47942    IN    NS    g.root-servers.net.
.            47942    IN    NS    k.root-servers.net.
.            47942    IN    NS    l.root-servers.net.
.            47942    IN    NS    m.root-servers.net.
.            47942    IN    NS    i.root-servers.net.
.            47942    IN    NS    c.root-servers.net.
.            47942    IN    NS    a.root-servers.net.
.            47942    IN    NS    d.root-servers.net.
;; Received 228 bytes from 192.168.0.1#53(192.168.0.1) in 54 ms
## a-m一共13個DNS服務器,j.root-servers.net根DNS負責了此處的解析
com.            172800    IN    NS    a.gtld-servers.net.
com.            172800    IN    NS    b.gtld-servers.net.
com.            172800    IN    NS    c.gtld-servers.net.
com.            172800    IN    NS    d.gtld-servers.net.
com.            172800    IN    NS    e.gtld-servers.net.
com.            172800    IN    NS    f.gtld-servers.net.
com.            172800    IN    NS    g.gtld-servers.net.
com.            172800    IN    NS    h.gtld-servers.net.
com.            172800    IN    NS    i.gtld-servers.net.
com.            172800    IN    NS    j.gtld-servers.net.
com.            172800    IN    NS    k.gtld-servers.net.
com.            172800    IN    NS    l.gtld-servers.net.
com.            172800    IN    NS    m.gtld-servers.net.
;; Received 491 bytes from 198.97.190.53#53(198.97.190.53) in 352 ms
##解析com的一共有13個DNS服務器,.com的a.gtld-servers.net負責了此處解析
51cto.com.        172800    IN    NS    ns1.dnsv2.com.
51cto.com.        172800    IN    NS    ns2.dnsv2.com.
;; Received 249 bytes from 192.54.112.30#53(192.54.112.30) in 272 ms
##解析  ns1.dnsv2.com負責了最終A記錄解析
www.51cto.com.        600    IN    CNAME    web.dns.51cto.com.
web.dns.51cto.com.    600    IN    CNAME    gf.dns.51cto.com.
gf.dns.51cto.com.    600    IN    A    218.11.0.91
51cto.com.        86400    IN    NS    ns2.dnsv2.com.
51cto.com.        86400    IN    NS    ns1.dnsv2.com.
;; Received 162 bytes from 115.236.151.178#53(115.236.151.178) in 139 ms



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章