链接 Walrus 站点以及从 Walrus 站点链接出去

Walrus 站点中的链接 几乎 像您在常规网站中预期的那样工作。我们在此指定了一些细节。

链接到同一站点内的资源

相对链接和绝对链接(href="/path/to/resource.html")像往常一样工作。

链接到网络上的资源

链接到网络上的资源(href="https://some.cdn.example.com/stylesheet.css")也像往常一样工作。

Linking to resources in other Walrus Sites

这里有点不同。假设有一些图像,您可以在 https://gallery.walrus.site/walrus_arctic.webp 浏览,并且您想从自己的 Walrus 站点链接它。

请记住,https://walrus.site 只是可能的许多门户之一。也就是说,可以从本地门户(http://gallery.localhost:8080/walrus_arctic.webp)或任何其他门户(例如,https://gallery.blob.store/walrus_arctic.webp)浏览相同的资源。因此,如何以 门户无关的方式 链接资源?这对于互操作性、可用性以及尊重用户的门户选择非常重要。

我们通过让门户解释在网络上通常无效的特殊链接并重定向到门户本身中相应的 Walrus 站点资源来解决这个问题。

考虑上面的例子,其中资源 /walrus_arctic.webp 是从具有 SuiNS 名称 gallery 的 Walrus 站点浏览的,该名称指向对象 ID abcd123…(Base36 编码)。然后,门户无关的链接是:https://gallery.suiobj/walrus_arctic.webp。要固定对象 ID 而不是 SuiNS 名称,您可以使用 https://abcd123….suiobj/walrus_arctic.webp

另一种可能性是直接指向资源的 Walrus blob ID,并让浏览器“嗅探”内容类型。例如,这适用于图像,但不适用于脚本或样式表。例如,要指向 blob ID(例如,包含图像)qwer5678…,请使用 URL https://blobid.walrus/qwer5678…

使用这样的链接,门户将提取 blob ID 并将请求重定向到它用于获取 blob 的聚合器。