2014-04-04 180 views
0

正如我注意到類從谷歌圖書館com.google.common.net.InternetDomainName containts以下常數:域名的最大長度

checkArgument(name.length() <= MAX_LENGTH, "Domain name too long: '%s':", name); 

但RFC-2181:創作InternetDomainName實例過程中,以下

private static final int MAX_LENGTH = 253; 

代碼,檢查長度說:

A full domain name is limited to 255 octets (including the separators). 

那麼,什麼是有效的最大長度爲域名?

回答

2

這是直接從wikipedia

完整域名不得超過 其文本表示的253個字符的長度。在 的內部二進制表示中,DNS的最大長度需要255個八位字節的存儲空間,因爲它的 也存儲名稱的長度。

這是從RFC 1035

每個標籤被表示爲一個八位字節長度字段之後是 數量的八位位組。由於每個域名以根標籤的空標籤 結尾,所以域名以長度字節0結尾。

+0

但是單個字節足夠長度,所以我們仍然是一個字節關閉。 – maaartinus

+0

謝謝!看起來我很窮。 – fashuser

+1

@maaartinus,我找到了另一個參考並更新了答案。 –