1. 程式人生 > 其它 >DNS和CDN快取

DNS和CDN快取

DNS快取

  • DNS解析:域名----->IP地址。

  • 有DNS的地方,就有快取。瀏覽器、作業系統、Local DNS、根域名伺服器,它們都會對DNS結果做一定程度的快取。

DNS查詢過程如下:

  1. 首先搜尋瀏覽器自身的DNS快取,如果存在,則域名解析到此完成。
  2. 如果沒有找到,那麼會嘗試讀取作業系統的hosts檔案看是否存在對應的對映關係,如果存在,則域名解析到此完成。
  3. 如果本地hosts檔案不存在對映關係,則查詢本地DNS伺服器,如果存在,域名到此解析完成。
  4. 如果本地DNS伺服器還沒找到的話,它就會向根伺服器發出請求,進行遞迴查詢。

CDN 快取

  • 內容分發網路。
  • CDN-->快取伺服器的承包商,在最近的CDN節點,最短的請求時間,拿到資源。
  • 起到分流作用,減輕伺服器負載壓力
  • 例子:使用者在瀏覽網站的時候,CDN會選擇一個離使用者最近的CDN邊緣節點來響應使用者的請求,這樣海南移動使用者的請求就不會千里迢迢跑到北京電信機房的伺服器(假設源站部署在北京電信機房)上了。
  • CDN快取:在瀏覽器本地快取失效後,瀏覽器會向CDN邊緣節點發起請求。類似瀏覽器快取,CDN邊緣節點也存在著一套快取機制。CDN邊緣節點快取策略因服務商不同而不同。
  • 當瀏覽器向CDN節點請求資料時:CDN節點會判斷快取資料是否過期,若快取資料並沒有過期,則直接將快取資料返回給客戶端;否則,CDN節點就會向伺服器發出回源請求,從伺服器拉取最新資料,更新本地快取,並將最新資料返回給客戶端。

CDN的基本工作過程:

  1. 使用者在自己的瀏覽器中輸入要訪問的網站域名。

  2. 瀏覽器向本地DNS伺服器請求對該域名的解析。

  3. 如果快取有這個域名的解析結果,則直接響應使用者的解析請求。

  4. 如果沒有關於這個域名的解析結果的快取,則以遞迴方式向整個DNS系統請求解析,獲得應答後將結果反饋給瀏覽器。

  5. 瀏覽器得到域名解析結果,就是該域名相應的服務裝置的IP地址

  6. 瀏覽器向伺服器請求內容。

  7. 伺服器將使用者請求內容傳送給瀏覽器。

轉自作者:null仔
原文連結:https://juejin.cn/post/6844903764566999054