你會發現ping www.baidu.com
的時候,會轉為ping www.a.shifen.com
。但是ping baidu.com
的時候卻是普通的ip位址,而且ip位址還會變化。那麼出現www.a.shifen.com
的原因是什麼呢?為什麼baidu.com
和www.baidu.com
的解析位址不同呢?
這裡用一句話說就是cname的原因(cname:別名),但能由此擴充套件到以下幾個方面
首先我們需要明白www.baidu.com
和baidu.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.com
和baidu.com
兩台域伺服器其實是同一臺伺服器,而baidu.com
對www.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根據如下...