メインコンテンツまでスキップ

1. はじめに

簡潔なバイナリ・オブジェクト表現 (Concise Binary Object Representation, CBOR) [RFC7049] は、JSON [RFC8259] データモデル、またはその独自の多少拡張されたデータモデルのデータをシリアル化するために使用できます。そのような値のシーケンスをシリアル化する場合、これらのシーケンスを単に連結して値の連結シーケンスのシリアル化を取得したり、さらにCBORデータ項目を追加するだけで末尾を拡張できる値のシーケンスをエンコードしたりできる形式があると便利な場合があります。

本文書は、ゼロ個以上のエンコードされたCBORデータ項目で構成される「CBORシーケンス」の概念と形式について説明します。CBORシーケンスは、データ項目のサブ構造を増分的に配信できるストリーミングCBORパーサー(またはサブ構造から増分的にエンコードできるストリーミングエンコーダー)を必要とせずに、増分的に消費(および生成)できます。

本文書は、"application/cbor-seq" メディアタイプを「メディアタイプ」レジストリに、制約付きアプリケーションプロトコル(CoAP)コンテンツフォーマット識別子とともに定義および登録します。メディアタイプ構造化構文サフィックス [RFC6838] は、メディアタイプが別のメディアタイプを基盤としていることを示す方法として導入されました。CBOR [RFC7049] は、"+cbor" 構造化構文サフィックスを定義しています。本文書は、"+cbor-seq" 構造化構文サフィックスを「構造化構文サフィックスレジストリ」に定義および登録します。

1.1. 本書で使用される表記規則

本文書におけるキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", および "OPTIONAL" は、ここに示されているようにすべて大文字で表示される場合にのみ、BCP 14 [RFC2119] [RFC8174] で説明されているように解釈されます。

本仕様では、「byte(バイト)」という用語は、「octet(オクテット)」の同義語として、現在慣習的に使用されている意味で使用されています。