RFC 5023: The Atom Publishing Protocol

The Atom Publishing Protocolは、Web resourceをpublishおよびeditするアプリケーションレベルのプロトコルである。本プロトコルは、HTTPを利用してAtomフォーマットの文書を交換すものであるが、Atomフォーマット自体は、RFC4287 “The Atom Syndication Format”にて定義されており、本文書の範囲外である。

本文書では、このAtom Publication Protocolで利用する文書を説明するのと同時に、Web Resourceのpublishおよびeditをするためのプロトコルを定義している。

 

文書の構造の定義

2種類のdocumentを定義している。

  1. Category document: カテゴリのリストを定義。
  2. Service document: ひとつ以上のCollectionをグルーピングしたWorkspaceのリストを定義

CollectionとはResourceの集合体で、そのFeedには、自身のIRIと、member resourceのmetadataが記述される。

RFC5023のSection 8.2の例の抜粋を参考として下記に記載

<collection href=”http://example.org/blog/pic”>
<atom:title>Pictures<atom:title>
<accept>image/png</accept>
<accept>image/jpeg</accept>
<accept>image/gif</accept>
</collection>

また、collectionの中には、利用可能なcategoryを指定することもできる。カテゴリのリストを直接collectionの中に記述してもよいし、href attributeを利用して別の場所で定義したcollectionを参照してもよい。そのリストは、fixedでも、open setでもよく、指定できる。

Collectionの中に記載されるResourceのことを、Member Resourceと呼ぶが、このMember Resourceには、Entry ResourceとMedia Resourcerという2種類が存在する。

 

プロトコルの定義

Atom Publishing Protocolは、Member ResourceをHTTPを利用してretrieve、create、edit、removeするプロトコルを定義している。そのそれぞれのケースに応じて、利用するHTTP methodが異なる点には注意が必要。

  • retrieveするにはGETを利用
  • createするにはPOSTを利用
  • editするにはPUTを利用
  • removeするにはDELETEを利用

尚、POSTを用いてCollectionにcreate requestをする際のツールとして、Slug headerというものが存在する。本ヘッダを利用すると、本ヘッダ中の情報を活用してMember URIを作成してくれる。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です