REST?RESTful? 今理解していることをアウトプットしてみる
今日のアウトプットはRESTについて。
RESTは、"Representational State Transfer(リプレゼンテイショナル・ステート・トランスファー)"の略です。文字面だけ見てもなんのこっちゃ?です。
ですがRESTの4原則を知れば、「あ、RailsはRESTに則ったWebシステムを作れるフレームワークだな」ということがわかります。
RESTの4原則
①統一インターフェース
統一インターフェイス
は、情報をやり取りする方法をあらかじめ定義しておくことです。
例えば、取得・登録・更新・削除は、HTTPメソッドのGET・POST・PUT(PATCH)・DELETEにすることが、統一インターフェイスにあたります。
②アドレス可能性
アドレス可能性
とは、全ての情報(リソース)が一意のURI(Uniform Resource Identifier)を持つことを指します。
③接続性
接続性
とは、ある情報に別の情報へのリンクを埋め込むことができることです。リンクを通じて別個の情報への接続を可能にします。
③ステートレス性
ステートレス性
については以前の記事でも少し触れました。サーバーはクライアントの状態を保持せず、やり取りが1回で完結する状態をステートレスといいます。
RESTfulとは?
上記のようなRESTの原則や考え方に則って実装されたものをRESTful
と称します。
私たちが普段使っているWebサービス(google, Twitter, などなど)はRESTfulなWebサービスですし、RESTful API(またはREST APIとも)
はgoogle map APIなどのRESTの設計思想に則って開発されたAPIです。
RESTの構成やルールを守ることで、シンプルで相互連携しやすいWebサービスを実現することができます。
参考
(リンク無し)
テックキャンプ カリキュラム:Webアーキテクチャ〜サービスの設計思想を学ぼう〜
Discussion