DNS解析過程原理 深入淺出詳解

2021-06-18 05:21:22 字數 2001 閱讀 3458

2023年06月06日

⁄ 搜尋引擎優化

⁄ 共 1523字

⁄ 閱讀 401 次

dns速度優化是**優化seo中的一部分,優化dns解析就必須了解dns解析原理及過程。

當使用者訪問我們**乙個網頁時,他需要經過以下步驟:

1)找到這個網頁的存放伺服器;

2)伺服器將使用者的請求資訊接入;

3)伺服器通過檔案路徑(url)查詢使用者請求網頁;

我們所講的dns解析主要是第乙個步驟,即讓使用者通過url找到檔案存放的伺服器。

讓使用者電腦和伺服器(網頁存放電腦)連線起來並不是靠網域名稱進行,網路上計算機之間實現連線是通過每台計算機在網路中擁有的惟一的ip位址來完成的。但ip位址並不便於記憶,這樣就需要在使用者容易記憶的位址和計算機能夠識別的位址之間有乙個解析,使用者容易記憶的位址就是網域名稱,而dns伺服器便充當了將使用者請求的網域名稱「翻譯」成相應ip位址以便於計算機之間相互連線的角色。

dns解析主要有遞迴查詢,就是在某個dns伺服器快取中查詢不到相應的網域名稱與ip位址對應關係時,自動跳轉到到下一步驟通過下乙個dns伺服器進行查詢。具體可見如下兩圖:

dns解析過程是重點也是難點,下面笨鳥按自己的理解一步步來解釋,可能有錯誤之處,歡迎指正。

以下步驟中,將dns快取中存在網域名稱對應ip則dns解析成功,使用者計算機將直接訪問伺服器,若dns伺服器快取中不存在網域名稱對應ip,則自動進入下一步。

1) 瀏覽器快取

當使用者通過瀏覽器訪問某網域名稱時,瀏覽器首先會在自己的快取中查詢是否有該網域名稱對應的ip位址(若曾經訪問過該網域名稱且沒有清空快取便存在);

2) 系統快取

當瀏覽器快取中無網域名稱對應ip則會自動檢查使用者計算機系統hosts檔案dns快取是否有該網域名稱對應ip;

3) 路由器快取

當瀏覽器及系統快取中均無網域名稱對應ip則進入路由器快取中檢查,以上三步均為客服端的dns快取;

4) isp(網際網路服務提供商)dns快取

當在使用者客服端查詢不到網域名稱對應ip位址,則將進入isp dns快取中進行查詢。比如你用的是電信的網路,則會進入電信的dns快取伺服器中進行查詢;

5) 根網域名稱伺服器

當以上均未完成,則進入根伺服器進行查詢。全球僅有13臺根網域名稱伺服器,1個主根網域名稱伺服器,其餘12為輔根網域名稱伺服器。根網域名稱收到請求後會檢視區域檔案記錄,若無則將其管轄範圍內頂級網域名稱(如.com)伺服器ip告訴本地dns伺服器;

6) 頂級網域名稱伺服器

頂級網域名稱伺服器收到請求後檢視區域檔案記錄,若無則將其管轄範圍內主網域名稱(如ecdoer.com)伺服器的ip位址告訴本地dns伺服器;

7) 主網域名稱伺服器

主網域名稱伺服器接受到請求後查詢自己的快取,如果沒有則進入下一級網域名稱伺服器(www.ecdoer.com)進行查詢,並重複該步驟直至找到正確紀錄;

8)儲存結果至快取

本地網域名稱伺服器把返回的結果儲存到快取,以備下一次使用,同時將該結果反饋給客戶端,客戶端通過這個ip位址與web伺服器建立鏈結。

一般網域名稱商或伺服器商都會提供免費的dns服務,然而,很多情況下這些免費的dns伺服器速度較慢,故可做一定優化,具體可從以下幾方面:

1)增加dns伺服器數量

減小伺服器壓力,當單位伺服器需要處理的dns請求數量較少時速度會更快;

2)全國多地分布dns伺服器

使用者網路訪問速度跟使用者計算機到伺服器的距離有關,若可以讓使用者就近訪問所在省份的伺服器便可以加速dns解析速度;

3)識別使用者線路反饋相應線路ip

當使用者網路線路跟伺服器網路線路一致時速度較快,而不一致時則較慢,如:使用者使用電信的線路但伺服器是聯通的線路,這樣就會造成使用者訪問**速度下降,如果可以識別使用者訪問線路並反饋相應ip則會加速**訪問。» 

» 

深入淺出解析Hive?

那麼hive的工作原理是什麼呢?hive提供了類sql的語句功能 hql。執行hql語句,hive能夠將這種支援本身功能的hql語句轉換為hadoop的mapreduce程式。這是程式自己完成的。也就是說,我們只要懂sql語句,那麼我們就能完成對hdfs檔案系統上的操作。對吧。因此,對於初級開發者或...

深入淺出WPF x Class詳解

小序 按照慣例,我會在年末的最後一篇文章裡感謝所有幫助過我的人們。今年也不例外,只是形式簡單一些。祝所有幫助過我的朋友 同事 學生和兄弟姐妹們 2009年身體健康 平安快樂 財源滾滾。願2009年的中國,平安祥和 遠離各種災難,大家的工資漲上去 房價降下來,金融危機早點結束。祝我的父親母親,健康長壽...

深入淺出Mybatis 外掛程式原理

mybatis採用責任鏈模式,通過動態 組織多個 外掛程式 通過這些 可以改變mybatis的預設行為 諸如sql重寫之類的 由於外掛程式會深入到mybatis的核心,因此在編寫自己的外掛程式前最好了解下它的原理,以便寫出安全高效的外掛程式。mybatis 支援對executor statement...