ステートレスな通信

 RESTがいう「ステートレス」とは状態がないという意味ではない。「一時的なデータはセッションとしてサーバ側で保持しない」という意味である。データはクライアントが持ち、必要に応じてサーバに送信するように設計する。
 セッションをサーバで管理しなければ、クラスタ環境でのセッション同期やレプリケーションなどの困難を避けることができる。サーバマシンの拡張性が容易になるだろう。
 入力項目が多岐にわたり、複数のページ遷移が必要なアプリケーションもある。しかし、Ajaxを使えば、1つの入力フォームで済ませることはできる。あるいは、Web Storageという選択肢もある。RESTfulなシステムは、ページ遷移の考え方そのものを変えるのだ。
 当然、ユーザー認証のようなデータは、セッション側に持たせるべきであるという意見もあるだろう。しかし、OAuthのような仕組みを導入すれば、アプリケーションとユーザー認証は別機能として切り離せる。どのページを表示して、どのリソースの操作を許可するかは、機能を提供するアプリケーションで意識する必要はない。認証・認可をつかさどるアプリケーションに任せるのだ。

http://el.jibun.atmarkit.co.jp/bookshelf/2011/01/post-e0e0.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です