為什麼 SOA 文件中的電子郵件具有 .代替 @

為什麼 SOA 文件中的電子郵件具有 .代替 @

當我檢查 cloudflare.com 的 SOA 時,我得到,

cloudflare.com has SOA record ns3.cloudflare.com. dns.cloudflare.com. 2027217413 10000 2400 604800 300

它傳回的電子郵件為 dns.cloudflare.com,而不是[電子郵件受保護]

為什麼是這樣 ?

答案1

首先,DNS 是一個二進位協議,每個欄位都有不同的資料類型,它不是自由格式的文字。

SOA RNAME欄位(包含應該代表電子郵件地址的內容)就其資料類型而言,是一個網域

網域類型與電子郵件地址並不完美匹配,但大概欄位的一次性需求SOA RNAME並不保證引入額外的資料類型。

A網域DNS 中由一系列標籤組成,這些標籤在文字格式中由點分隔(就像您習慣看到的那樣)。

在不引入某種新類型的情況下,如果您要編寫 eg [email protected].,則會有一個 label dns@cloudflare,一個com以及末尾的空(根)標籤。
雖然這在文字格式中看起來是合理的,但它也很奇怪(只是以不同的方式),電子郵件地址的兩個截然不同的部分現在不自然地融合在一起,只有文字表示才有意義。

另一個選擇可能是使用字串(就像在eg中一樣TXT),但是它會完全非結構化並且可以具有任何類型的字串值。

我認為我們擁有的解決方案可能是最不奇怪的方法(至少從技術角度來看),如何表示電子郵件地址,而不為此添加專門的資料類型。

相關內容