Web のおさらい ブラウザ開いて、URL 入力して、ページを表示する、アレ Yahoo! Google YouTube Mixi Asahi.com Amazon 楽天 MSN (Windows Live)
9.
Web の仕組み HTTPWeb サーバーと Web クライアント(ブラウザなど)で通信するための規約 1997 HTTP/1.1 URL Web にあるページなどの位置を示すアドレス 1994 年 URL HTML Web ページのソース 1993 年 HTML 1.0 、 1999 年 HTML 4.01 2001 年 XHTML 1.1 、 201X 年 HTML5
Web の仕組み ~ HTTP を観察すると HTTP 最低限のメソッドが用意されている CRUD (に近いもの)が用意されている Create 、 Read 、 Update 、 Delete POST 、 GET 、 PUT 、 DELETE Web にあるもの(=リソース)すべてに実行できる Web ページを GET ! 注文情報を POST ! ( PUT と DELETE はあんまり使われていませんね ... ) つまり Web は 「すべてのリソースに適用できる良く定義された動作セット」 を持っている
12.
Web の仕組み ~ URL をよく観察すると URL Web にあるもの(=リソース)にはすべて URL がついている HTML 、画像、 MP3 ファイル、ビデオ Flash オブジェクト、アプレット フラグ 世界中で唯一の名前 URL さえついていればなんでもアクセスできる POST <URL> GET <URL> PUT <URL> DELETE <URL> つまり Web は 「リソースを一意に識別する汎用的な構文( URL )」 を持っている
13.
Web の仕組み ~ HTML をよく観察すると HTML HTML といえば「リンク」( hypertext ですから) 次から次へと Web ページをたどれる ページでなくてもリンクできる(すべてのリソースへ) img タグで埋め込んだりするのも URL (リソースの名前)を指定するだけ それ以外のハイパーメディア XML ( eXtensible Markup Language ) JSON ( JavaScript Object Notation )
14.
REST で何がうれしいのか スケールしやすいステートレス! ハードを増やせば性能もついてくる 層構造! プロキシーサーバー(変換、キャッシュ ... ) ロードバランサー キャッシュ可能 冪等性を保証する操作が決まっている 簡単 ステートレス! リンクをたどる=状態遷移 どんなリソースに対しても同じ操作! POST 、 GET 、 PUT 、 DELETE すべてのリソースに統一的な名前の付け方がある= URL ほかにもいろいろ
15.
結局 REST って?いつもの Web はこうやってできています、という「設計思想」 厳密には「アーキテクチャ スタイル」と言います 「 HTTP 」「 URL 」「 HTML 」を使えば REST になる、というわけではない Web を使ったシステムを作るときに参考になる Web サービスを設計するとき「 REST 」が使える REST を使うと Web のメリットを有効に使える 世界で もっとも成功した 分散環境と同じ考え方! 苦手なこともあります 厳密な一貫性を持たせたい(トランザクションもできないことはないが ... ) ユーザー認証( OpenID や OAuth で解決?) 性能要求が厳しい(レイテンシに制約がある、など)