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
操作。 特别是,RESTCONF
与NETCONF
访问控制模型(NACM
)[RFC6536]兼容,因为在RESTCONF
和NETCONF
操作之间存在特定映射。 资源路径需要由服务器在内部转换为相应的YANG
实例标识。 使用此信息,服务器可以将NACM
访问控制规则应用于RESTCONF
消息。
服务器不得允许客户端无权访问的任何资源进行任何RESTCONF
操作。
所有方法的实现(PATCH
[RFC5789]除外)在[RFC7231]中定义。 本节定义每种HTTP
方法的RESTCONF
协议使用情况。