首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DNS域名语法示例

DNS域名语法示例
EN

Stack Overflow用户
提问于 2008-10-24 14:18:36
回答 2查看 6.6K关注 0票数 1

根据RFC1035,dns名称可以包含\ddd \x和引号符号。请举例说明。

EN

回答 2

Stack Overflow用户

发布于 2008-10-24 15:05:31

RFC1035没有说DNS names可以包含这些字符。在第5节(主文件)中,它指出包含RR信息的文件可以包含这些字符。具体地说:“因为这些文件是文本文件,所以需要几种特殊的编码来允许加载任意数据。”除了域之外,还有其他文本可以放入区域文件。例如,TXT记录中的条目是自由文本,因此您可能希望在其中放置一个二进制字符,用\ddd字符串表示,等等。您还可以进行注释,因此您可以在注释中使用这些“特殊编码”。

有对国际化域名的支持,但RFC1035是从1987年开始的,当时它还没有讨论i18n域名。

编辑:我刚刚重读了一遍,我想我错了。上面的内容在技术上是关于文件格式的。然而,这也在RFC的3.1节中:

尽管标签可以包含组成标签的任何8位二进制八位数的值,但强烈建议标签遵循本备忘录中其他地方介绍的首选语法,这与现有的主机命名约定兼容。名称服务器和解析器必须以不区分大小写的方式(即,A=a)比较标签,假定ASCII码具有零奇偶校验。非字母代码必须完全匹配。

因此,这意味着任何8位字符都可以是标签的一部分(其中标签是域名中点之间的部分)。不过,本文档描述的是DNS协议的技术功能。常见用法则是另一回事。实际上,在"2.3.1.首选名称语法“一节中:

代码语言:javascript
复制
The following syntax will result in
fewer problems with many applications
that use domain names (e.g., mail,
TELNET).

<domain> ::= <subdomain> | " "

<subdomain> ::= <label> | <subdomain>
"." <label>

<label> ::= <letter> [ [ <ldh-str> ]
<let-dig> ]

<ldh-str> ::= <let-dig-hyp> |
<let-dig-hyp> <ldh-str>

<let-dig-hyp> ::= <let-dig> | "-"

<let-dig> ::= <letter> | <digit>

<letter> ::= any one of the 52
alphabetic characters A through Z in
upper case and a through z in lower
case

<digit> ::= any one of the ten digits
0 through 9

换句话说,DNS协议从一开始就定义为使用8位ascii。但是,如果您确实希望您的程序能够使用DNS中的域,则应该坚持使用a-z-。

举个例子,我认为这只是意味着你可以有一个这样的DNS条目:

代码语言:javascript
复制
IHaveAn\020EmbeddedTab  IN A 172.24.3.1
票数 2
EN

Stack Overflow用户

发布于 2009-10-19 07:06:31

推荐的读物是RFC 2181,它的第11节很好地解释了这个问题。

否则,有关示例,请参阅maps-to-nonascii.rfc-test.net。此名称是包含非ASCII字符的名称的别名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/233721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档