https://www.rfc-editor.org/rfc/rfc1035#section-8
Se <local-part> contiver pontos ou outros caracteres especiais, sua representação em um arquivo mestre exigirá o uso de barras invertidas para garantir que o nome de domínio esteja devidamente codificado. Por exemplo, a caixa de correio[e-mail protegido]seria representado como Action\.domains.ISI.EDU.
Porém, na prática nunca vi nenhum caractere especial além do ponto precisar de barra invertida. De acordo com a RFC 1035 [email protected]
deveria ser codificado como Action\+domains.ISI.EDU
mas na prática parece ser sempre Action+domains.ISI.EDU
. O sinal de mais não é considerado um "caractere especial" ou o ponto é o único caractere especial que precisa de barra invertida?
Responder1
+
não é um caractere especial no contexto do DNS, em lugar nenhum.
DNS tem terminologia confusa:
- nomes de domínio são quaisquer caracteres, absolutamente sem restrições, apenas o ponto tem um significado específico como separador entre rótulos
- nomes de host são subconjuntos de nomes de domínio que seguem a restrição "letra-dígito-hífen" ou LDH; nesse subconjunto
+
não pode aparecer, portanto não é especial no sentido de que não há nada a fazer para protegê-lo, pois ele não pode simplesmente aparecer.
Os poucos caracteres que necessitam de tratamento especial estão espalhados pelo documento, mas resumindo:
.
precisa ser escapado, com\
- como tal, se você quiser um literal
\
em algum lugar, precisará escapar dele também - então, dependendo de onde você está no arquivo, um fim de linha ou uma citação pode precisar ser escapado porque, caso contrário, significaria outra coisa. Para esta necessidade, e qualquer outro caractere, o padrão definido é usar
\DDD
whereDDD
é o valor decimal do byte (e como tal US-ASCII para strings) que você deseja escapar $
pode precisar ser escapado dependendo de onde você está na multa e de quem a consome, porque vincula, por exemplo, e em parte talvez algum outro software, trate$ORIGIN
ou$INCLUDE
como instruções específicas e não como nomes na zona.