DNSLink
什么是 DNS 链接
DNS 链接使用 DNS TXT 记录映射域名 (如 ipfs.io) 到一个 IPFS 地址. 因为你可以编辑自己的 DNS 记录, 可以使他们总是指向最新版本的 IPFS 中的对象 (如果修改了 IPFS 中的对象则 IPFS 中的对象地址也会改变). 由于 DNS 链接使用 DNS 记录, 所以可以设计名字 / 路径 /(子) 域 / 任何容易分类, 阅读和记的名字.
一个 DNS 链接地址看起来像一个 IPNS 地址, 但是 DNS 链接使用域名代替了被哈希的公钥:
/ipns/myexampledomain.org
就像普通的 IPFS 地址, 可以包含链接到其他的文件 - 或者是其他类型的 IPFS 支持的资源, 像目录和链接:
/ipns/myexampledomain.org/media/
使用子域名发布
虽然您可以根据需要将 TXT 记录发布到确切的域, 但是使用称为_dnslink 的特殊子域来发布 DNSLink 记录会更有利. 这使您可以提高自动设置的安全性, 或将对 DNSLink 记录的控制权委派给第三方, 而不必放弃对原始 DNS 区域的完全控制权.
例如, docs.ipfs.io 没有含有 TXT 记录, 但是页面仍然可以加载因为 TXT 记录在_dnslink.docs.ipfs.io 中存在. 如果查看_dnslink.docs.ipfs.io 的 DNS 记录, 可以看到以下 DNSLink 记录:
- $ dig +noall +answer TXT _dnslink.docs.ipfs.io
- _dnslink.docs.ipfs.io. 34 IN TXT "dnslink=/ipfs/QmVMxjouRQCA2QykL5Rc77DvjfaX6m8NL6RyHXRTaZ9iya"
使用 DNSLink 解析
当一个 IPFS 客户端或者节点尝试解析一个地址, 将会寻找前缀为 dnslink = 的 TXT 记录. 剩下的可以是 / ipfs / 链接或者是 / ipns/, 或者是链接到其他的 DNSLink.
dnslink=/ipfs/<具体内容的 CID>
例如, 回到之前_dnslink.docs.ipfs.io 的 DNS 记录继续了解 DNS 链接实体:
- $ dig +noall +answer TXT _dnslink.docs.ipfs.io
- _dnslink.docs.ipfs.io. 34 IN TXT "dnslink=/ipfs/QmVMxjouRQCA2QykL5Rc77DvjfaX6m8NL6RyHXRTaZ9iya"
基于这个地址:
/ipns/docs.ipfs.io/introduction/
可以获取这个区块:
/ipfs/QmVMxjouRQCA2QykL5Rc77DvjfaX6m8NL6RyHXRTaZ9iya/introduction/
来源: http://www.bubuko.com/infodetail-3337590.html