5.2 响应
在接收到并解析了一个请求之后,服务端会回应一个CoAP响应,这个响应是通过客户端生成的token来匹配。注意,这和CON消息要与ACK通过Message ID匹配的机制不同。
一个响应是通过CoAP头部的字段来定义为一个响应码,与HTTP状态码类似,CoAP响应码显示尝试理解并满足请求的结果,这些codes在5.9节有完整的定义。响应码的编号是在CoAP头部的字段中设定的,并保存在CoAP响应码表中(12.1.2节)。
上面8-bit的响应码中的高3-bits定义响应的种类。低5-bits没有任何分类作用,他们仅提供一些额外的细节(图 3-3)。
CoAP响应码格式是“c.dd”,这里”c”是一个十进制数,”dd”是两位十进制数。举个例子,”Forbidden”被定义为4.03——这是一个8-bit的值,16进制为0x83(40c20+3)或者十进制131(432+3)。
有3种响应码:
2-success:代表成功收到请求,理解并接收。
4-client Error:客户端错误,代表请求包含了错误的语法或者服务端不能满足请求。
5-server error:服务端错误代表服务器未能响应请求。
响应码被设计成可扩展的:在客户端或者服务端错误中,如果某个端不能识别具体响应码,这个端会将之视为一般响应码(即4.00或5.00)。然而,对于success类,如果某个端不能识别具体响应码,那么这个端只能判断这个请求成功,而不能有更多的操作。在5.9节对响应码的做了详细的描述。响应能被通过多种方式发送,在接下来的小节中有定义。
最后更新于
这有帮助吗?