https://www.rfc-editor.org/rfc/rfc1035#section-8
如果 <local-part> 包含点或其他特殊字符,则其在主文件中的表示将需要使用反斜杠引用以确保域名正确编码。例如,邮箱[电子邮件保护]将被表示为 Action\.domains.ISI.EDU。
但是,实际上我从未见过除了点之外的任何特殊字符需要反斜杠。根据 RFC 1035,[email protected]
应该编码为 ,Action\+domains.ISI.EDU
但实际上似乎总是Action+domains.ISI.EDU
。加号不被视为“特殊字符”还是点是唯一需要反斜杠的特殊字符?
答案1
+
在 DNS 上下文中不是特殊字符,任何地方都不是。
DNS 中有令人困惑的术语:
- 域名是任意字符,绝对没有限制,只有点作为标签之间的分隔符具有特定含义
- 主机名是遵循“字母-数字-连字符”或 LDH 约束的域名子集;在该子集中
+
不能出现,因此它在某种意义上并不特殊,没有什么可以保护它,因为它根本不能出现。
需要特殊处理的几个字符分散在文档各处,但简而言之:
.
需要转义,使用\
- 因此,如果你想
\
在某处使用文字,你也需要对其进行转义 - 然后,根据您在文件中的位置,可能需要对行尾或引号进行转义,因为否则将意味着其他内容。对于此需求以及任何其他字符,默认定义为使用您想要转义
\DDD
的DDD
字节的十进制值(以及字符串的 US-ASCII) $
可能需要根据您所在的位置以及谁使用它来进行转义,因为例如绑定,并且部分可能是其他一些软件,将其视为$ORIGIN
特定$INCLUDE
指令而不是区域中的名称。