【问题标题】:What is link format resources's base uri for CoAP什么是 CpAP 的链接格式资源基础 uri
【发布时间】:2020-12-11 03:42:36
【问题描述】:

当我阅读RFC6690 时,了解以链接格式确定上下文 URI 的规则

我没理解“链接格式资源的基础 uri”是什么意思

2.1。目标和上下文 URI

每个链接都将一个目标 URI 作为 URI-reference 内角传递 括号(“”)。链接的上下文 URI(也称为基本 URI) in [RFC3986]) 由以下规则确定 规格:

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

我的理解:只需检查“锚”属性

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

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

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

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

我知道来源是defined as a combination of URI scheme, host name, and port number

我也明白 Base URI 是一个绝对 URI,相对 URI 可以解析。

但我不明白 "base uri" 在 RFC6690 第 2.1 节的上下文中是什么意思

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

【问题讨论】:

    标签: uri rfc coap


    【解决方案1】:

    RFC6690 在这里混合了一些概念(“链接的上下文 URI(也称为基本 URI[...])”——上下文和基本 URI 是不同的概念)。这里的基本 URI 是指锚属性指向的 URI(如果缺少该属性,则默认为请求文档的 URI)。

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

    那里列出的规则非常混乱(而且,最糟糕的是,与 Link 标头中非常相似的规则不同),即使您严格遵守它们,也无法期望互操作性:在所有实现中我调查了CoRE mailing list,没有人在分辨率中正确考虑了锚点。我建议你坚持使用 Limited Link Format(定义在Resource Directory Draft),它与 Link headers 和 RFC6690 的解析步骤兼容,并附有演练。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      相关资源
      最近更新 更多