Пока я искал RFC DNS из-за реализации проверки подчеркивания в записях CNAME, я нашел это интересное обсуждение и RFC с интересным моментом:
https://www.ietf.org/mail-archive/web/dnsop/current/msg01449.html
RFC 2181 11. Синтаксис имени: сам DNS накладывает только одно ограничение на конкретные метки, которые можно использовать для идентификации записей ресурсов. Это единственное ограничение касается длины этикетки и полного имя. Длина любой метки ограничена от 1 до 63. октеты. Полное доменное имя ограничено 255 октетами (включая разделители). Полное имя нулевой длины определяется как представляющее корень DNS-дерева и обычно записывается и отображается как «.». Помимо этих ограничений, любая двоичная строка может использоваться в качестве метка любой записи ресурса. Точно так же любая двоичная строка может служить значение любой записи, которая включает доменное имя как часть или все его значение (SOA, NS, MX, PTR, CNAME и любые другие, которые могут быть добавлены). Реализации протоколов DNS не должны накладывать никаких ограничений на этикетки, которые можно использовать. В частности, DNS-серверы не должны отказывать для обслуживания зоны, потому что она содержит ярлыки, которые могут быть неприемлемыми для некоторых клиентских программ DNS. DNS-сервер может быть настроен для выдачи предупреждения при загрузке или даже отказе от загрузки основной зоны содержащие ярлыки, которые могут быть сочтены сомнительными, однако это не должно происходить по умолчанию.
Итак, мой вопрос - если я правильно понял, означает ли это, что мы можем использовать в записях DNS, таких как MX, CNAME и т. д., что-то вроде этого?
Если мы попросим: ( представьте, что может быть любая двоичная строка)
the?weird?record,___*-+\k8a#$%...domain.ext
Может ли это возвращать похожий мэшап из символов (например, двоичную строку?) Разрешено ли это?
Конечно, я не спрашиваю о правилах «имен хостов» и о «предпочтительных» именах соглашений, но о «разрешенном» использовании символов в DNS.
Необходимо учитывать три момента: