← Back to context

Comment by teddyh

3 hours ago

Because:

1. Practically, the process for creating a new DNS record type is bureaucratic and slow.

2. New record types have a limited number, but names are unlimited as long as they are unique.

3. If the data you’re storing is perfectly compatible with an existing record type, like TXT, it seems silly to overload semantics into a new, but otherwise identical, record type. You can compare record types to variable types in a programming language. I.e. instead of having

  name_t x = "foo";             /* C */
  x: Name = "foo"               # Python
  x       IN      NAME    "foo" ; DNS

you instead have:

  char *name = "foo";           /* C */
  name: str = "foo"             # Python
  _name   IN      TXT     "foo" ; DNS

Sure, DNS might not have integer types, but it has host names (PTR), IP addresses (AAAA and A), and strings (TXT, which also can work as an array of strings up to 255 bytes in length if you prefer). These, with added semantics of an underscored name prefixed, will get you quite far without having to invent a new record type to contain your specific semantic meaning to, say, a plain TXT record.