Webを支える技術 -HTTP、URI、HTML、そしてREST
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus) | |
山本 陽平 技術評論社 2010-04-08 売り上げランキング : 2769 おすすめ平均 Web屋の特に若い写真には必読の書 Amazonで詳しく見る by G-Tools |
RESTはアーキテクチャスタイルである。
抽象化レベル | Webでの例 |
---|---|
アーキテクチャスタイル | REST |
アーキテクチャ | ブラウザ、サーバ、プロキシ、HTTP、URI、HTML |
実装 | Apache、Firefox、IE |
RESTとは次の6つを組み合わせたアーキテクチャスタイルである。
- クライアント/サーバ: ユーザーインターフェイスと処理を分離する
- ステートレスサーバ: サーバ側でアプリケーションの状態を持たない
- キャッシュ: クライアントとサーバの通信回数と量を減らす
- 統一インターフェイス: インターフェイスを固定する
- 階層化システム: システムを階層に分離する
- コードオンデマンド: プログラムをクライアントにダウンロードして実行する(Javascript, Flash)
ステートフル/ステートレスに関するたとえ話が面白かった↓
ステートフルなやりとりは、サーバ(店員)がクライアントのそれまでの注文を、やりとりの間ずっと覚えていることを前提にしています。まずハンバーガーセットを注文し、次にポテトを頼まれれば、そのクライアントがハンバーガーセットをポテトで注文していることをサーバが記憶します。この「ハンバーガーセットをポテトで注文している」という情報のことを、クライアントのアプリケーション状態と呼びます。
アプリケーション状態は別名「セッション状態」(Session State)とも言います。システムにログインしてからログアウトするまでの一連の操作をまとめて「セッション」と呼ぶのですが、この一連の操作の間の状態はアプリケーション状態のことですので、アプリケーション状態とセッション状態はほぼ同じ意味となります。
(p.82)
- ステートフルだと、クライアントが増える事にサーバーの負荷が上がる。
- べき等性...何回同じ操作をしても必ず同じ結果が得られる。「x0」とか。
- GETはべき等。POSTはべき等ではない。
- OpenIDとOAuth
- キャッシュはHTTPの機能。
- セマンティクスを地に足が付いた状態へと導くmicroformats。。
そこでmicroformatsですよ。に最低限の情報を追加する。