什么是 CoAP 的链接格式资源的基本 URI



当我阅读RFC6690关于确定链接格式中上下文URI的规则时

我不明白";链接格式资源的基本uri";

2.1.目标和上下文URI

每个链接传递一个目标URI作为角度内的URI引用括号(<>(。链接的上下文URI(也称为基URI在[RFC3986]中(由以下规则确定规格:

(a( 上下文URI在指定时设置为锚点参数。

我的理解是:只需检查"锚";属性

(b(指定时目标URI的来源。

我的理解:如果目标URI是一个绝对URI(包含原点(,那么使用其原点(没有路径和查询(作为上下文

(c(链接格式资源的基本URI的来源。

我的理解:我迷路了,我应该在哪里寻找这个基本uri?

据我所知,起源被定义为URI方案、主机名和端口号的组合

我也理解基本URI是一个绝对URI,相对URI可以根据它进行解析。

但我不明白什么是"基本uri">RFC6690第2.1节中的均值

如果资源目标uri不是绝对uri,并且没有原点,那么我如何找到链接格式资源的基本uri的原点?

RFC6690在这里混合了概念("链接的上下文URI(也称为基URI[…]("(——上下文和基URI是不同的概念(。这里他们所说的基本URI是指锚点属性所指向的URI(如果缺少,则默认为请求文档的URI(。

普遍的解释似乎是,链接的上下文是根据请求的URI的来源解析的锚属性(当没有锚时,它是请求的URI来源(,链接的目标则是根据上下文来源解析的尖括号之间的部分。这并不完全是那里写的,但至少它能与同一文档中给出的示例一起使用。

其中列出的规则非常令人困惑(最糟糕的是,与链接标题中非常相似的规则不同(,即使你严格遵守它们,你也无法期待互操作性:在我为CoRE邮件列表调查的所有实现中,没有一个在解决方案中正确地考虑了锚。我建议您坚持使用有限链接格式(在资源目录草案中定义(,它与链接头和RFC6690的解析步骤都兼容,并附带一个演练。

(从长远来看,我确实很希望所有链接格式都能被CoRAL取代,但进展还不够,我建议在生产环境附近的任何地方实施。(

最新更新