5.1. 请求URI结构

资源用[RFC3986]中的通用URI结构之后的URI来表示。

RESTCONF操作使用以下概念字段从HTTP方法和请求URI派生:

  1. <OP> /<restconf>/<path>?<query>
  2. ^ ^ ^ ^
  3. | | | |
  4. method entry resource query
  5. M M O O

M=强制性的,O=可选的

<OP>HTTP方法
<restconf>RESTRONF根资源
<path>是目标资源URI
<query>是查询参数列表

  • method:标识客户端所请求的RESTCONF操作的HTTP方法,以处理请求URI中指定的目标资源。 RESTCONF操作细节在第4节中描述。

  • entry:在此HTTP服务器上配置的RESTCONF API的根,通过获取“/.well-known/host-meta”资源发现,如3.1节所述。

  • resource:标识RESTCONF操作正在访问的资源的路径表达式。如果该字段不存在,那么目标资源就是API本身,由第8节中找到的名为“yang-api”的YANG数据模板表示。

  • query:与RESTCONF消息相关联的一组参数;参见[RFC3986]的第3.4节RESTCONF参数具有“name=value”这样的键值对的形式。大多数查询参数是可选的,由服务器实现,可选地由客户端使用。每个可选的查询参数都由一个·标识。服务器必须列出它在第9.3节定义的“capability”叶子列表中支持的可选查询参数URI

虽然服务器可以选择支持本文档中未定义的查询参数,但是定义了一组特定的参数。 任何查询参数值的内容必须根据[RFC3986]的第3.4节进行编码。 根据[RFC3986]的第2.1节第2.5节的规定,任何保留字符都必须进行百分比编码。

请注意,RESTCONF协议不使用片段组件。 如[RFC7230]的第5.1节中所述,片段被服务器从目标URI中排除。

当客户端创建新资源时,会返回一个“Location”标题字段,标识新创建资源的路径。 客户端使用此确切的路径标识符访问资源,一旦创建。

RESTCONF操作的目标是资源。 请求URI中的“path”字段表示RESTCONF操作的目标资源。

有关RESTCONF请求URI的示例,请参阅附录B