【Webを支える技術】第4部 ハイパーメディアフォーマット 学習メモ
目次
- 目次
- はじめに
- 第4部 ハイパーメディアフォーマット
はじめに
この記事は「Webを支える技術」を読んで自分なりにまとめた学習メモです。
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)
- 作者: 山本陽平
- 出版社/メーカー: 技術評論社
- 発売日: 2010/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 143人 クリック: 4,320回
- この商品を含むブログ (183件) を見る
第4部 ハイパーメディアフォーマット
第10章 HTML
HTML(Hypertext Markup Language)
HTMLとは、タグ(Tag)で文書の構造を表現するコンピュータのマークアップ言語です。マークアップした構造を持った文書のことを「構造化文書」(Structured Document)と呼びます。
HTML5 は現在まさに仕様策定中の新しい HTML です。
HTMLのメディアタイプの種類
拡張子
- 「.html」:現在の一般的な拡張子
- 「.htm」:古いOSの制限による
HTMLの構成要素
- ヘッダ:メタデータのこと
- ボディ:文書の本文のこと
- 大きく分けて2種類:ブロックレベル要素、インライン要素
- 共通の属性:HTMLのすべての要素は、id 属性と class 属性を持つ
- id: 文書内で一意なID
- class: その要素が属するクラス
リンク
- <a>:アンカー
- <link>:リンク
- <object>:オブジェクトの埋め込み
- <form>:フォーム
第11章 microformats
microformats
microformatsとは、HTMLの中でさらに意味のあるデータを表現するための技術のことです。
セマンティクス(Semantics)
セマンティクスWeb とは、人間が読んで理解するWebページの意味を、プログラムからも処理できるように形式的に意味を記述するための技術のことです。
RDFとmicroformats
RDF(Resource Description Framework)とは、Webページ上の情報のメタデータ(データの属性や関係を表すためのデータ)を記述するための構造のことです。
RDFの問題点
- 記述が複雑になりがち
- 統一的な記述がしづらい
- 対象データとは独立したメタデータが必要
RDFの問題点を解消した技術が microformats です。
microformatsの分類
- elemental(単純) microformats:rel-license のように、リンク関係(<a>要素や<link>要素の rel 属性)を使ってメタデータを表現するフォーマット
- compound(複合) microformats:後述する hCalendar のように、主に class 属性を使って階層構造のあるメタデータを表現するフォーマット
リソースの表現としてのmicroformats
microformatsは下記の弱点を補ってくれるリソース表現です。
第12章 Atom
Atom(Atom Syndication Format)
Atomとは、RFC 4287 が規定する XML フォーマットです。
Atomのリソースモデル
- メンバリソース(Menber Resource):Atomにおける最小のリソース単位
- コレクションリソース(Collection Resource):複数のメンバリソースを含むリソース
Atomの拡張
- Atom Threading Extensions ―― スレッドを表現する
- Atom License Extension ―― ライセンス情報を表現する
- Feed Paging and Archiing ―― フィードを分割する
- OpenSearch ―― 検索結果を表現する
第13章 Atom Publishing Protocol
Atom Publishing Protocol(AtomPub)
AtomPubは、Atom が規定したフィードやエントリで表現するリソースの編集、いわゆる CRUD 操作を実現するためのプロトコルです。
サービス文書
- メディアタイプ
- <service>要素
- <workspace>要素
- <collection>要素
- <accept>要素
- カテゴリ
AtomPubに向いているWeb API
AtomPubに向いていないWeb API
- Cometを利用するような、リアルタイム性が重要なAPI
- 映像のストリーム配信など、HTTP以外のプロトコルを必要とするAPI
- データの階層構造が重要なAPI
- 「タイトル」「作者」「更新日時」など、Atom フォーマットが用意する出たデータが不要なAPI
第14章 JSON
JSON(JavaScript Object Notation)
JSONとは、RFC 4627 が規定するデータ記述言語です。JavaScript の記法でデータを記述できる点が最大の特徴です。
メディアタイプ
- 「application/json」
拡張子
- 「.json」
データ型
- オブジェクト
- 配列
- 文字列
- 数値
- ブーリアン
- null
JSONP(JSON with Padding)によるクロスドメイン通信
JSONP (JSON with padding) とは、scriptタグを使用してクロスドメインな(異なるドメインに存在する)データを取得する仕組みのことです。
ハイパーメディアとしてのJSON
JSON は JavaScript をベースにしたシンプルなデータフォーマットです。JavaScript はもちろん、各種のプログラミング言語がライブラリを用意しています。
JSONをハイパーフォーマットとして使うためには、リンクを表現するメンバをきちんと入れる必要があります。