Webを支える技術 -HTTP、URI、HTML、そしてREST


Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)山本 陽平

技術評論社 2010-04-08
売り上げランキング : 2769

おすすめ平均 star
starWeb屋の特に若い写真には必読の書

Amazonで詳しく見る
by G-Tools

RESTはアーキテクチャスタイルである。

抽象化レベル Webでの例
アーキテクチャスタイル REST
アーキテクチャ ブラウザ、サーバ、プロキシ、HTTP、URI、HTML
実装 ApacheFirefoxIE
RESTとは次の6つを組み合わせたアーキテクチャスタイルである。
  • クライアント/サーバ: ユーザーインターフェイスと処理を分離する
  • ステートレスサーバ: サーバ側でアプリケーションの状態を持たない
  • キャッシュ: クライアントとサーバの通信回数と量を減らす
  • 統一インターフェイス: インターフェイスを固定する
  • 階層化システム: システムを階層に分離する
  • コードオンデマンド: プログラムをクライアントにダウンロードして実行する(Javascript, Flash
  • URI(Uniform Resource Identifier)のWWWにおける実装がURL
  • HTTPはステートレス。
ステートフル/ステートレスに関するたとえ話が面白かった↓

ステートフルなやりとりは、サーバ(店員)がクライアントのそれまでの注文を、やりとりの間ずっと覚えていることを前提にしています。まずハンバーガーセットを注文し、次にポテトを頼まれれば、そのクライアントがハンバーガーセットをポテトで注文していることをサーバが記憶します。この「ハンバーガーセットをポテトで注文している」という情報のことを、クライアントのアプリケーション状態と呼びます。
アプリケーション状態は別名「セッション状態」(Session State)とも言います。システムにログインしてからログアウトするまでの一連の操作をまとめて「セッション」と呼ぶのですが、この一連の操作の間の状態はアプリケーション状態のことですので、アプリケーション状態とセッション状態はほぼ同じ意味となります。
(p.82)

  • ステートフルだと、クライアントが増える事にサーバーの負荷が上がる。
  • べき等性...何回同じ操作をしても必ず同じ結果が得られる。「x0」とか。
    • GETはべき等。POSTはべき等ではない。
OpenID
シンプルなシングルサインオン。あるサービスのアカウントで他のサービスにログイン可能。
OAuth
Webサービス間でデータをやりとりできるようにする。認可情報を委譲する機能。
  • キャッシュはHTTPの機能。
  • セマンティクスを地に足が付いた状態へと導くmicroformats。。
    • 元々あったRDFには以下の問題点。
      • 記述が複雑
      • 統一的記述が難しい
      • 対象データと独立したメタデータを必要とする

そこでmicroformatsですよ。に最低限の情報を追加する。