CoAP

CoAP是受限的应用协议(Contrained Application Protocol)的代名词. CoAP是一种应用层协议, 它运行于UDP协议之上.

参考: https://blog.csdn.net/xukai871105/article/details/45167069

CoAP协议综述

和其他TCP IP协议簇中的协议一样, CoAP协议总是以"头"的形式出现在负载之前, 而负载和CoAP头之间使用单字节0xFF分离.

CoAP协议报文各部分

1. Ver

版本编号, 指示CoAP协议的版本号. 类似于HTTP 1.0 HTTP 1.1. 版本编号占2位.

2. T

报文类型, CoAP协议定了4种不同形式的报文, CON报文, NON报文, ACK报文和RST报文.

3. TKL

CoAP标识符长度, CoAP协议中具有两种功能相似的标识符, 一种为Message ID(报文编号), 一种为Token(标识符). 其中每个报文均包含消息编号, 但是标识符对于报文来说是非必须的.

4. Code

功能码/响应码. Code在CoAP请求报文和响应报文中具有不同的表现形式, Code占一个字节, 它被分成两部分, 前3位一部分, 后5位一部分, 为了方便描述它被写成c.dd结构, 其0.XX表示CoAP请求的某种方法, 而2.XX, 4.XX或5.XX则表示CoAP响应的某种具体表现.

5.Message ID

报文编号

6.Token

标识符具体内容.

7.Option

报文选项.

Code部分详解

1. 请求

(1) 0.01

GET方法, 用于获得某个资源.

(2) 0.02

POST方法, 用于创建某个资源

(3) 0.03

PUT方法, 用于更新某资源

(4) 0.04

DELETE方法, 用于删除某资源

2. 响应

(1) 2.01    created

(2) 2.02  deleted

(3) 2.03 valid

(4) 2.04 changed

(5) 2.05 content, 类似于HTTP 200 OK

(6) 4.00 Bad Request, 请求错误, 服务器无法处理, 类似于HTTP 400

(7) 4.01 Unauthorized, 没有范围权限, 类似于HTTp 401

(8) 4.02 Bad Option, 请求中包含错误选项

(9) 4.03 Forbidden, 服务器拒绝请求, 类似于HTTP 403

(10) 4.04 Not Found, 服务器找不到资源, 类似于HTTP404

(11) 4.05 Method Not Allowed, 非法请求方法, 类似于HTTP 405

(12) 4.06 Not Acceptable, 请求选项和服务器生成内容选项不一致, 类似于HTTP 406

(13) 4.12 Precondition Failed, 请求参数不足, 类似于HTTP 412

(14) 4.15 Unsupport Content-Type, 请求中的媒体类型不被支持, 类似于HTTP 415

(15) 5.00 Internal Server Error, 服务器内部错误, 类似于HTTP 500

(16) 5.01 Not Implemented, 服务器无法支持请求内容, 类似于HTTP 501

(17) 5.02 Bad Gateway, 服务器作为网关时, 收到了一个错误的响应, 类似于HTTP 502

(18) 5.03 Service Unavailable, 服务器过载或维护停机, 类似于HTTP 503

(19) 5.04 Gateway Timeout, 服务器作为网关时, 执行请求时发生超时错误,类似于HTTP 504

(20) 5.05 Proxying Not Supported, 服务器不支持代理功能.

猜你喜欢

转载自blog.csdn.net/CHS007chs/article/details/94438110
今日推荐