本記事の内容
Webを支える技術を読んだ際のノートのようなものです。
省略している部分もあり、書籍の内容を完全に要約するものではありません。
今回は第12〜13章あたりの内容です。
Atom?
Atom Syndication Format
仕様は RFC 4287。
RSSとかをうまいこと扱いたい、拡張性のある標準フォーマットを策定したいという流れで生まれたデータフォーマット。
メタデータを使ってなにかしたい系のアプリケーションで割と活躍する。
外部マークアップを使って拡張することもできる。
Atomの構成
コレクションリソース
type=feed 必須要素は同じメンバリソース
最小のリソース単位。
コレクションリソース1つに対してメンバリソースは複数存在しうる。
エントリリソース
type=entryXML。
ブログ本文とメタデータを保持する。
id, title, author, updatedなどといった情報を持つ。
tagスキームも多い。
Base64エンコードすればcontentに画像を入れることもできるが、重くなる。
メディアリンクエントリ
画像などの、テキスト化できないもの。
メディアリソース
XMLではない。
Atomのリンク表現
- alternate
- self
- enclosure
- related
- via
リンクの関係性を表現できる。
Atom Publishing Protocol(AtomPub)
ブラウザ以外からも操作することができる。
Atomはデータフォーマット。
AtomPubはそのリソースを編集したりするプロトコル仕様。
サービス文書とカテゴリ文書からなる。
サービス文書はメタデータを保持するもの。コレクションリソースのリストを持つが、それに対してCRUD操作はできない。
カテゴリ文書は名前の通り、エントリのカテゴリを保持するもの。
注意点
PUTは常に全要素を送る必要がある。
内容を更新したくてPUTする際も同じなので、変更してはいけない要素を変更する危険に気をつけよう。
向き不向き
向いてるもの
- ブログ
- 検索
- タグ系ソーシャルサービス
向いてないもの
- ストリーム系
- メタデータがそもそもいらないもの(そらそう)