5.2. 消息编码
根据[RFC7230],RESTCONF
消息以HTTP
编码。 所有消息都使用“utf-8
”字符集。 RESTCONF
消息内容在HTTP
消息体中发送。
内容以JSON
或XML
格式编码。 服务器必须支持XML
或JSON
编码之一。 服务器可以支持XML
和JSON
编码。 客户需要同时支持XML
和JSON
来与所有RESTCONF
服务器进行互操作。
数据节点的XML
编码规则在[RFC7950]中定义。 所有XML
内容都使用相同的编码规则。 JSON
编码规则在[RFC7951]中定义。 额外的元数据JSON
编码规则在[RFC7952]中定义。 这种编码是有效的JSON
,但它也有特殊的编码规则来识别模块命名空间并提供一致的YANG
数据类型处理。
请求输入内容编码格式用“Content-Type
”标题字段标识。如果消息体是由客户发送的,那么这个字段必须存在。
服务器必须支持“Accept
”标题字段和[RFC7231]中定义的“406 Not Acceptable
”状态行。客户端将接受的响应输出内容编码格式通过请求中的“Accept
”标头字段标识。如果没有指定,则应该使用请求输入编码格式,或者服务器可以选择任何支持的内容编码格式。
如果没有请求输入,则默认输出编码是XML
或JSON
,具体取决于服务器首选项。在请求中编码的文件扩展名不用于识别格式编码。
客户端可以通过在“Content-Type
”和/或“Accept
”头字段中使用特定格式发送请求来确定RESTCONF
服务器是否支持编码格式。如果服务器不支持请求的请求输入编码,那么它务必返回一个带有“415 Unsupported Media Type
”状态行的错误响应。如果服务器不支持请求的任何请求的输出编码,那么它务必返回一个带有“406 Not Acceptable
”状态行的错误响应。