2015-07-19 69 views
1

爲什麼www.twitter.com返回一個不同的IP地址,有時我運行這個java代碼?爲什麼www.twitter.com有時會使用InetAddress/getHostAddress()返回不同的IP地址?

InetAddress host = InetAddress.getByName("www.twitter.com"); 
    System.out.println("www.twitter.com" + " : " + host.getHostAddress()); 

其他網站大多會返回相同的IP地址, www.facebook.com總是返回179.60.193.3

Yahoo.com總是例如返回203.84.216.121

+0

此外,當我使用該IP地址時,它不會將我引導至twitter.com實際網站(當我將其輸入到瀏覽器中時) –

+0

您會收到哪些值? –

+0

199.59.149.198 199.59.150.47 199.59.149.230例如 –

回答

2

因爲www.twitter.com分配了多個IPv4地址。

主機名可以映射到多個IP地址。查找主機名時得到哪一個取決於DNS中的許多配置細節。

而且值得一提的是,IP地址也可以分配多個主機名。

+0

有沒有一種方法,我可以看到有多少IPv4 twitter.com分配地址? –

+0

@PatrickLee'man dig'(如果你在一個基於Unix的系統上)應該引導你朝着正確的方向前進。 Windows有'nslookup'我想。 –

+0

您的結果也可能取決於您查詢的DNS服務器。只需Google'dns servers',你就可以找到很多其他你可以查詢的DNS服務器。 –

0

這很可能是由於DNS Round Robin。基本上,名稱「twitter.com」不僅僅是一個A-記錄,您的客戶動態選擇提供的記錄之一併使用它。使用的記錄可以頻繁切換。

相關問題