CoAP訊息結構
Ver(Version):版本號,標明CoAP的版本
T(Type):訊息類別,從0到3分別是CON、NON、ACK和RST;
TKL(Token Length):標記的長度
Code:請求碼/響應碼
【2.01】Created
【2.02】Deleted
【2.03】Valid
【2.04】Changed
【2.05】Content。類似於HTTP 200 OK
【4.00】Bad Request 請求錯誤,服務器無法處理。類似於HTTP 400。
【4.01】Unauthorized 沒有範圍權限。類似於HTTP 401。
【4.02】Bad Option 請求中包含錯誤選項。
【4.03】Forbidden 服務器拒絕請求。類似於HTTP 403。
【4.04】Not Found 服務器找不到資源。類似於HTTP 404。
【4.05】Method Not Allowed 非法請求方法。類似於HTTP 405。
【4.06】Not Acceptable 請求選項和服務器生成內容選項不一致。類似於HTTP 406。
【4.12】Precondition Failed 請求參數不足。類似於HTTP 412。
【4.15】Unsuppor Conten-Type 請求中的媒體類型不被支持。類似於HTTP 415。
【5.00】Internal Server Error 服務器內部錯誤。類似於HTTP 500。
【5.01】Not Implemented 服務器無法支持請求內容。類似於HTTP 501。
【5.02】Bad Gateway 服務器作為網關時,收到了一個錯誤的響應。類似於HTTP 502。
【5.03】Service Unavailable 服務器過載或者維護停機。類似於HTTP 503。
【5.04】Gateway Timeout 服務器作為網關時,執行請求時發生超時錯誤。類似於HTTP 504。
【5.05】Proxying Not Supported 服務器不支持代理功能。
Message ID:訊息ID,每個CoAP訊息都有一個訊息ID,在一次傳輸中ID總是保持不變,在此傳輸結束後該ID就會被回收再利用
token:標記,由TKL指定長度,標記ID
Option:選項,包括CoAP主機、埠號、資源路徑、資源參數等
11111111:CoAP報文和具體負載之間的分隔符
payload:有效載荷(可選),真正有用的被交互的數據
CoAP連線過程
先由Client傳送一個訂閱/註冊的訊息給Server,接著兩端會建立一個持續的通道,之後Server可以即時推送資源的狀態給訂閱的Client,而推送的條件有可能是基於資源的改變或依照給訂的時間間隔來推送。