日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CDN基础知识-CNAME、加速域名、源站地址与回源host之间的关系

發(fā)布時間:2023/12/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CDN基础知识-CNAME、加速域名、源站地址与回源host之间的关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CDN原理

1. CNAME

首先需要了解,CNAME 是什么東西。

1.1 A記錄

即Address記錄,它并不是一個IP或者一個域名,我們可以把它理解為一種指向關系:

域名 www.xx.com → 111.111.111.111

主機名 DD → 222.222.222.222

可以理解為,最終的域名與IP的對應關系這條記錄,就是A記錄

1.2 CNAME

為什么要區(qū)分A記錄和CNAME?我們可以把CNAME記錄叫做別名記錄,就是小名

比如A記錄為:
www.baidu.com → 111.111.111.111

那么可能有多個CNAME記錄
www.100fen.com → www.baidu.com
www.baifen.com → www.baidu.com

所以大概理解了吧,CNAME就是你主域名A記錄的小名

CNAME指向A記錄,A記錄指向具體的IP地址。

一個網址可以有多個CNAME,可以理解為就是域名轉發(fā)

2. 加速域名

加速域名是接入CDN的域名,例如使用www.baidu.com域名接入CDN,那么加速域名就是www.baidu.com

3. 源站地址

顧名思義,就是用戶的源站主機地址。

當選擇自建源時,源站地址也有兩種類型:域名(一個)和IP地址(可多個),并且都支持端口。

  • 示例一:
    • 源站類型:自建源

    • 源站地址:115.115.115.115

  • 示例二:
    • 源站類型:自建源

    • 源站地址:115.115.115.115:8080

  • 示例三:
    • 源站類型:自建源

    • 源站地址:source.baidu.com

  • 示例四:
    • 源站類型:自建源

    • 源站地址:source.baidu.com:8080

    源站地址填寫為域名最大的好處是,當你的源站擁有多個運營商的IP,例如source.baidu.com有三個A記錄,分別是100.100.100.100(電信)、101.101.101.101(聯通)、102.102.102.102(移動),那么當CDN回源時,會根據用戶的來源運營商選擇對應的A記錄。當訪問者為電信用戶,回源時則會選擇100.100.100.100(電信)來回源,這樣就可以避免跨運營商回源,造成回源延遲等問題。

    注意:如果源站地址填寫為域名時,此域名的作用僅僅是用于DNS解析,例如source.baidu.com對應的A記錄為100.100.100.100,那最終源站地址則是100.100.100.100。

    建議:能選擇源站地址為域名最好是選擇為域名。

    4. 回源host

    回源host也可以說是回源域名,比如源站擁有多個站點:bbs.baidu.com、blog.baidu.com、api.baidu.com,那回源host就是指定到哪個站點上獲取資源,具體詳情參考以下幾個示例。

  • 示例一:
    • 源站類型:自建源

    • 源站地址:115.115.115.115

    • 回源host:blog.baidu.com

    當CDN回源時,會到115.115.115.115這臺主機上的blog.baidu.com站點拉取資源。

  • 示例二:
    • 源站類型:自建源

    • 源站地址:115.115.115.115

    • 回源host:api.baidu.com

    當CDN回源時,會到115.115.115.115這臺主機上的api.baidu.com站點拉取資源。

    注意:如果填寫的回源host在源站上不存在時,則會到源站上的默認站點拉取資源。

    建議:當源站擁有多個站點時,一定要選擇正確的域名,否則CDN拉取到的資源可能不是你想要的。

    DNS和CDN整體流程的總結

    比如我們請求 www.baidu.com 域名

  • 首先,瀏覽器會從自身的DNS緩存中去查找(chrome://net-internals/#dns),如果沒有則進行下一步

  • 然后,瀏覽器會先從操作系統(tǒng)里的DNS緩存中找,windows系統(tǒng)中,命令行 ipconfig/displaydns 查看,linux上的NSCD緩存服務;如果沒有則進行下一步

  • 從計算機host文件里找;如果沒有則進行下一步

  • 請求本地域名服務器(可以認為是 阿里云等域名供應商),
    發(fā)現阿里云里面有進行過配置,CNMAE記錄: www.baidu.com → cdn.baidu.com ,所以此時告訴瀏覽器轉為請求 cdn.baidu.com

  • 此時,瀏覽器轉為請求cdn.baidu.com ,上面的1-3步還得再來一遍。

    1-3步驟重復

  • 請求本地域名服務器(可以認為是 阿里云等域名供應商),發(fā)現阿里云里面有進行過配置,A記錄:cdn.baidu.com → 222.222.222.222 ,然后就把 IP 222.222.222.222 返回給瀏覽器。

  • 瀏覽器得到了IP地址,注意這個IP地址,實際上是CDN負載均衡服務器的地址。繼續(xù)請求這個地址

  • 請求進入到了CDN負載均衡服務器后,服務器會根據算法策略等,返回一個最合適的文件緩存服務器IP地址,至于怎么選擇合適的,看下面的優(yōu)化

  • 瀏覽器訪問文件緩存服務器IP地址,最后得到文件資源

  • 附加題目

    題目:加速域名為:www.baidu.com,源站地址填寫為域名:source.baidu.com,并且此域名擁有三個IP:100.100.100.100(電信)、101.101.101.101(聯通)、102.102.102.102(移動),回源host為blog.baidu.com。

    問題一:請將回源步驟描述下。

    問題二:當訪問者是聯通用戶時,請將回源步驟描述下。

    問題三:當源站不存在blog.baidu.com站點時,請將回源步驟描述下。

    問題四:當訪問者是教育網用戶時,請將回源步驟描述下。

    附加答案

  • 問題一:
  • 先將source.baidu.com域名做DNS解析,得到具體的IP地址(100.100.100.100)。
    CDN使用回源host(blog.baidu.com)到100.100.100.100這臺主機上拉取blog.baidu.com站點的資源。
    blog.baidu.com站點返回資源給CDN。
    回源流程:訪問者(www.baidu.com) -> CDN(回源) -> blog.baidu.com(100.100.100.100) -> CDN(返回資源) -> 訪問者(獲取資源)

  • 問題二:
  • 先將source.baidu.com域名做DNS解析,得到101.101.101.101(CDN會幫其選擇最優(yōu)的IP,因為訪問者是聯通用戶,當然是到聯通IP回源更好,這樣就不會出現跨運營商問題)。
    CDN使用回源host(blog.baidu.com)到101.101.101.101這臺主機上拉取blog.baidu.com站點的資源。
    blog.baidu.com站點返回資源給CDN。
    回源流程:訪問者(www.baidu.com) -> CDN(回源) -> blog.baidu.com(101.101.101.101) -> CDN(返回資源) -> 訪問者(獲取資源)

  • 問題三:
  • 先將source.baidu.com域名做DNS解析,得到具體的IP地址(100.100.100.100)。
    CDN使用回源host(blog.baidu.com)到100.100.100.100這臺主機上拉取默認站點的資源。
    100.100.100.100這臺主機的默認站點返回資源給CDN。
    回源流程:訪問者(www.baidu.com) -> CDN(回源) -> blog.baidu.com(100.100.100.100) -> CDN(返回資源) -> 訪問者(獲取資源)

  • 問題四:
  • 先將source.baidu.com域名做DNS解析,得到具體的IP地址102.102.102.102(因為源站沒有合適對應的教育網運營商IP,所以CDN會自動幫其選擇最優(yōu)的IP,至于哪個是最優(yōu)的就無法直接斷定了,交由CDN判斷)。
    CDN使用回源host(blog.baidu.com)到102.102.102.102這臺主機上拉取默認站點的資源。
    blog.baidu.com站點返回資源給CDN。
    回源流程:訪問者(www.baidu.com) -> CDN(回源) -> blog.baidu.com(102.102.102.102) -> CDN(返回資源) -> 訪問者(獲取資源)

    六、結論總結

    加速域名為用戶接入的CDN域名。
    源站地址為用戶的源站,當源站地址為域名時,此域名僅用于做DNS解析。
    當源站擁有多個站點,回源時則選擇回源host指定站點拉取資源。
    當源站不存在回源host域名時,則到源站的默認站點拉取資源。

    參考鏈接:
    https://juejin.im/post/6854573212425814030
    https://cloud.tencent.com/developer/article/1195058

    總結

    以上是生活随笔為你收集整理的CDN基础知识-CNAME、加速域名、源站地址与回源host之间的关系的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。