當你在位址列輸入**並按下回車的時候,瀏覽器首先需要做的就是網域名稱解析。
那麼為了訪問到資源,瀏覽器就需要使用網域名稱系統(dns- domain name system)幫你把網域名稱轉化為ip位址。只有知道了ip位址路由器才知道發請求給誰。但是dns並不是每一次都需要出場解決問題的,他手下有小弟,大多數情況下都是小弟解決不了大佬才需要出馬。
那麼瀏覽器在接收到乙個網域名稱解析請求它做了些什麼呢?
(1)瀏覽器(內心os):我先查查快取。
瀏覽器(內心os):查不到,交給dns去查吧。
對話解析:瀏覽器當然不會拿到乙個網域名稱就傻傻交給dns去解析,它會首先檢視快取中有沒有解析過的ip位址,查完瀏覽器自身的dns快取查系統dns系統快取,如果有且沒有過期的話本次解析愉快結束。如果都沒有的話瀏覽器這時候才會真正呼叫dns。
(2)瀏覽器:請問你知道ip位址嗎?
ldns(內心os): 我先查查快取。
ldns(內心os): 居然查不到,我可是可以解決80%的問題。沒辦法,問問根網域名稱伺服器吧。
對話解析:瀏覽器傳送網域名稱解析請求到ldns(local dns server),大多數人的ldns是使用運營商為你自動分配的本地區的網域名稱伺服器。ldns這時候會查詢自己的快取,如果找到且沒有過期那麼本次解析結束。如果依然沒有找到,ldns會發起解析請求到根網域名稱伺服器。
(3)ldns: 請問你知道ip位址嗎?
根網域名稱伺服器: 我不知道的ip位址,但我知道net域的位址,你去問問它吧。
ldns: 好的。
對話解析:ldns傳送網域名稱解析請求到根網域名稱伺服器,根網域名稱伺服器不知道這個網域名稱對應的ip位址,但是它知道net域(國際頂級網域名稱)對應的ip位址。於是它把net域對應的位址發給ldns.
(4)ldns: 請問你知道ip位址嗎?
net域伺服器: 我不知道的ip位址,是我知道
blog.csdn.net
這個域的dns位址,你去問問它吧。
ldns: 好的。
對話解析:ldns傳送網域名稱解析請求到net域伺服器,net域伺服器不知道這個網域名稱對應的ip位址,但是它知道此網域名稱註冊的網域名稱伺服器的位址,於是它把blog.csdn.net
網域名稱對應的dns位址發給ldns。
(5)ldns: 請問你知道ip位址嗎?
網域名稱伺服器(內心os): 我查查先,咦,查到了。
網域名稱伺服器:對應的ip位址是xx.xx.xx,它的ttl值是xx
對話解析:網域名稱伺服器會查詢儲存的網域名稱和ip的對映關係表,找到對應的ip位址後連同乙個生存時間值ttl(time to live)值返回給ldns2
。(6)
ldns(內心os): 我先快取下來,下一次就不用再問了。
ldns:對應的ip位址是xx.xx.xx,它的ttl值是xx。
系統: 好的,我會告訴瀏覽器。
瀏覽器: 收到。
對話解析:ldns會將ip位址和網域名稱的對映關係快取下來,然後根據ttl值決定此對映關係被快取的時間。然後通過系統告訴瀏覽器解析到的ip位址3
,然後瀏覽器進行下一步動作。
注意:以上為乙個典例。現實情況下,多級網域名稱伺服器或gtm負載均衡(廣域網流量管理)等,都可能會影響網域名稱解析的過程2。
網域名稱↩︎
qq_36326947/article/details/72864528
↩︎↩︎
網域名稱解析原理
開啟瀏覽器時,輸入 www idcspy.com 時,你的電腦會首先向當地的網路運營商查詢有無該網域名稱的記錄,如果沒有,就直接找到美國那13臺根伺服器那裡查詢。你的網域名稱在 註冊的,那些根伺服器上都會有記錄,比如你的網域名稱是net.cn註冊的,那麼,根伺服器就會指引你的電腦返回中國大陸,找到n...
named 客戶端無法解析 瀏覽器網域名稱解析步驟
當乙個使用者在瀏覽器中輸入www.com時,dns解析將會有將近10個步驟 第1步,瀏覽器會檢查快取中有沒有這個網域名稱對應的解析過的ip位址,如果快取中有,這個解析過程就將結束。瀏覽器快取網域名稱也是有限制的,不僅瀏覽器快取大小有限制,而且快取的時間也有限制,通常情況下為幾分鐘到幾小時不等,網域名...
瀏覽器工作原理
首先對上篇blog 進行乙個補充 以我做的 基於執行緒池和資料庫連線池的web 伺服器 為例,說說http 通訊的流程,大體分為三個階段 a 連線 伺服器通過乙個serversocket 類物件對8000 埠進行監聽,監聽到之後建立 連線,開啟乙個socket 虛擬檔案。b 請求 建立與建立sock...