ぼちぼちクラウド

クラウド系SEのぼちぼち技術ブログ

【読書記録】Webを支える技術 第4部

第4部の構成

HTML

  • 見出しや段落などの構造を定義した文書フォーマット

microformats

  • HTMLに比べ、WebAPIをプログラム用に別途用意する必要がない、メンテナンス性などの面ですぐれている

Atom

Atom Publishing Protocol(AtomPub)

  • Atomはデータフォーマットの規定であるのに対し、AtomPubはAtomを利用したリソース編集(CRUD操作)プロトコル
  • ブログや検索データベースには向いているが、リアルタイム性が重要なAPI、データの階層構造が重要なAPIなどには向いていない

JSON

  • 上記のXML系のリソース表現と異なり、データを表現するフォーマット

※都合上、現時点では「HTML」「JSON」のみまとめさせていただきます

第10章 HTML

HTMLのメディアタイプ

  • 2種類存在する
text-html
  • SGMLベースのHTML
application/xhtml*xml

XMLの仕様

  • 木構造となっており、要素(headなど)を入れ子にして表現する
  • 先頭にXMLであることを宣言する

 

HTMLの構成

  • ヘッダとボディから構成される
ヘッダ
ボディ
  • 文書の内容そのもの
  • ブロックレベル要素:段落や見出しなど大きなかたまり
  • インライン要素:ブロックレベル要素の中に入る、強調や改行・画像埋め込みなど

リンク

要素(アンカー)
  • ブロック要素の中でほかのWebページにリンクするためのタグ
  • HTMLのヘッダでWebページの関係を指定する
要素、要素
  • 画像埋め込み、その他要素(動画など)の埋め込み

第14章 JSON

JSONとは

  • データを表現するフォーマット
  • JavaScript記法。多くのプログラミング言語がライブラリを用意しており、言語間でデータを受け渡すことが容易

メディアタイプ

  • application/json
  • UTF-8,16,32のいずれかでエンコードするルール
  • UTF-8でエンコードしたJSONの場合

 Content-Type: application/json; charset=utf-8

使用可能なデータ型

  1. オブジェクト:名前と値の集合(メンバと呼ぶ)。メンバの名前は常に文字列。値は下記いずれも使える
  2. 配列
  3. 文字列
  4. 数値
  5. ブーリアン
  6. null

{
"name": "Yamada",
"age":34,
"interests":["web","xml","rest"].
"address":{"pref": "tokyo" , "region":"shinjuku"}
}

JSONPによるクロスドメイン通信

  • JSON with Paddingの略
クロスドメイン通信とは
  • 不特定多数のドメインに属するサーバにアクセスすること
  • AjaxではJavaScriptがあるサーバと別のサーバとは通信できない
  • 実際にはサービス構成上、ほかのサーバのWebAPIと通信が必要になるシチュエーションもある(地図データなど)
script要素による解決方法
  • script要素はブラウザのセキュリティ制限を受けない
  • JSONPではJSONを関数名でラップし、ドメインの異なるサーバからデータを取得する