ping百度網域名稱時的收穫

2022-07-23 06:42:13 字數 2640 閱讀 7237

你會發現ping www.baidu.com的時候,會轉為ping www.a.shifen.com。但是ping baidu.com的時候卻是普通的ip位址,而且ip位址還會變化。那麼出現www.a.shifen.com的原因是什麼呢?為什麼baidu.comwww.baidu.com的解析位址不同呢?

這裡用一句話說就是cname的原因(cname:別名),但能由此擴充套件到以下幾個方面

首先我們需要明白www.baidu.combaidu.com是兩個完全獨立沒有任何關係的url位址。所以解析出來的ip位址當然也可以不同。 

我們可以先檢視一下www.baidu.com解析的ip位址

結果為

baidu.com這個網域名稱是可以直接訪問的,這個網域名稱有3個ip位址,這3個ip是可以直接瀏覽器訪問的,而訪問之後就會被直接轉為www.baidu.com的網域名稱上。為什麼呢?我們後面再說。

當我們查詢www.baidu.com的位址時,會依次去本地host,本地dns,根域dns伺服器,.com伺服器,baidu.com伺服器查詢。而在baidu.com域伺服器裡查詢到www對應一條c記錄,將www.baidu.com對映到www.a.shifen.com。所以會再次去.com域進行對shifen.com進行查詢,以同樣的方式,最終查到了119.75.216.20這個位址。

疑問:因為shifen.combaidu.com兩台域伺服器其實是同一臺伺服器,而baidu.comwww.baidu.com進行別名轉換的時候,其實是會直接返回shifen.com域伺服器的ip的,有人說會直接訪問shifen.com的域伺服器,而不需要重新走.com頂級域伺服器。我比較支援這觀點,但是沒試驗過,實驗的話也會比較麻煩,需要清理掉本地dns的影響。但這個並不重要。

當我們查詢baidu.com的時候,也是同樣的過程,只不過到了baidu.com域伺服器的時候,沒有別名轉換了,直接返回對應的ip位址。

我們會發現瀏覽器無法直接訪問www.a.shifen.com,但是我們卻可以訪問www.baidu.com,可他們倆解析出來的位址應該是一樣的啊。這是因為http請求的時候,會把請求的url寫入請求頭,伺服器會拒絕帶www.a.shifen.com網域名稱的請求。

但是我們平時訪問的時候,都習慣輸入baidu.com,而前面我們看到baidu.com的解析ip結果可和www的不一樣,那為什麼瀏覽器裡訪問的網域名稱帶不帶www的都一樣呢。通過

curl -v baidu.com
我們可以發現結果如下圖,返回的是乙個很小的頁面,他會使瀏覽器重新整理轉到www.baidu.com,也就是上面說的119.75.216.20這個伺服器。動作跟上面也就一樣了。所以其實你訪問baidu.com解析出來的ip也是可以的,也會直接跳到

那為什麼訪問的時候會變成呢。這種應該是apache伺服器將網域名稱rewrite,轉換成https鏈結進行訪問,但是你發現使用ip進行訪問是不行的,因為rewriterule是對請求的url進行正則匹配的,所以ip位址是無法進行rewrite的。

為什麼為baidu.com分配3個ip位址呢?應該是dns負載均衡。可以產生ping baidu.com解析的位址都是變化的。因為這個web位址只是返回單個index跳轉頁面,所以使用dns負載均衡是滿足要求,沒什麼問題的。而壓力最大的www.baidu.com這個位址只有乙個ip位址,想必是內網做的負載均衡。

左邊的是北京地區,而右邊的是大連地區的返回結果。也可能是網路服務商的不同返回結果不同。總之這樣就會做到負載均衡。而兩地對baidu.com網域名稱的解析的結果是相同的,都是那3個ip位址。可能全國都一樣吧。 

至於a.shifen.com,這個別名對使用者來說沒有意義,至於為什麼保留這個別名,也不清楚為什麼。

百度雲網域名稱備案

登入後進入控制台,選擇網域名稱服務 如果沒有網域名稱,點選註冊新網域名稱 購買完網域名稱後 在網域名稱管理處 檢視 在網域名稱處點選備案 進入備案頁面後 點選開始備案 輸入必要資訊 點選驗證 這裡的我有乙個網域名稱正在備案 所以這裡提示 正常的流程應該是下圖 正確輸入資訊 進入下一步 這裡需要你有乙...

百度稱霸 網域名稱篇

縱觀國內網際網路這十幾年的發展,每天都發生著變化,作為我們社會的wrhpjo中堅力量80後,見證了中國網路的發展與變化。從早期的搜狐,新浪,網易到07年web2.0的提出 從被動式的檢視資料,到現在互動式發布,編輯資訊的sns平台,這些變化改變了我們的生活和溝通。的數量每天無以計數的增加,資訊是海量...

centos無法ping通百度

如果你出現了這樣的情況 ping www.baidu.com 未知的名稱或服務你可以試試我的解決辦法 我們這裡需要ipv4位址 子網掩碼 預設閘道器三個資料 可能最後的名字不一樣,如果不一樣就自己換一下 vi etc sysconfig network scripts ifcfg ens33根據如下...