技術

RESTを5分で浅く学ぶ

(この記事はRESTの雰囲気を浅く理解してみようという記事です。間違いがあればTwitterでこっそり教えていただけると嬉しいです。)

RESTはWebのアーキテクチャスタイルです。構成とそのコンセプトを1行でまとめてみます。

RESTの構成

RESTに含まれる制限は次の6つです。

クライアント/サーバー

クライアントがサーバーにリクエストを送ってレスポンスを受け取るモデルです。

ステートレスサーバー

サーバーがクライアントの状態を保持しないこと。

キャッシュ

リソースの鮮度に基づいて一度取得したリソースをクライアント側で使いまわす方針です。

統一インターフェイス

リソースに対する操作を制限することです。HTTPではGETやPOSTなどのメソッドに制限されます。

階層化システム

統一インターフェイスによってシステムをロードバランサやプロキシなどによって階層化することも用意になります。

コードオンデマンド

プログラムをサーバーからダウンロードしてクライアントで実行するスタイルです。

REST APIのコンセプト

コンセプトとしては次の3つがあります。

リソース(Resources)

Web上に存在する何かしらの情報のこと。URIで識別され、URIを用いることでプログラムはリソースにアクセスできます。

表現(Representations)

API利用者がリソースの状態を確認すること。形式としては例えばJSONであったりXMLであったりです。

行動(Actions)

リソースに対する操作のこと。実際にはHTTPメソッドであるPOST/GET/PUT/DELETEになります。

参考

深く学びたい方はぜひ。