4. RESTCONF方法

RESTCONF协议使用HTTP方法来标识为特定资源请求的CRUD操作。

下表显示了RESTCONF操作如何与NETCONF协议操作相关。

RESTCONF NETCONF
OPTIONS none
HEAD <get-config>, <get>
GET <get-config>, <get>
POST <edit-config> (nc:operation=”create”)
POST invoke an RPC operation
PUT <copy-config> (PUT on datastore)
PUT <edit-config> (nc:operation=”create/replace”)
PATCH <edit-config> (nc:operation depends on PATCH content)
DELETE <edit-config> (nc:operation=”delete”)

HTTP DELETE方法不支持NETCONF <edit-config> RPC操作的“remove”编辑操作属性。 资源必须存在,否则DELETE方法将失败。 PATCH方法相当于使用普通补丁时的“merge”编辑操作(参见第4.6.1节)。 其他媒体类型可以提供更细粒度的控制。

访问控制机制用于限制可以使用哪些CRUD操作。 特别是,RESTCONFNETCONF访问控制模型(NACM)[RFC6536]兼容,因为在RESTCONFNETCONF操作之间存在特定映射。 资源路径需要由服务器在内部转换为相应的YANG实例标识。 使用此信息,服务器可以将NACM访问控制规则应用于RESTCONF消息。

服务器不得允许客户端无权访问的任何资源进行任何RESTCONF操作。

所有方法的实现(PATCH [RFC5789]除外)在[RFC7231]中定义。 本节定义每种HTTP方法的RESTCONF协议使用情况。