Representational State Transfer
わかりやすい状態の転送
クライアントからサーバーへの全てのリクエストに、リクエストを理解するのに必要な情報を含めること。
そして、サーバーに情報を置かず、クライアントに持たせる。
Statelessは通信料が多くなる欠点があったが、それを解決するのがCache。
レスポンスをキャッシュできれば、同じリクエストを送った場合、再利用することができる。
-
resource
- hypertext(HTML?)の意図的な参照先の概念
-
resource identifier
- URL
- URN リソースにつけられた名前
-
representation
- HTML document
- JPEG image
-
representation metadata
- media type
- content type
-
resource metadata
- source link
リソースは、RESTの中で重要な情報の概念である。名前をつけられた情報は、全てリソースと呼ぶことができる。言い換えれば、HTMLが参照する情報は、リソースの中になければならない。リソースは、実体の集合との概念的なマッピングである。
RESTコンポーネントは、リソースの状態を捉える表現と、それらをコンポーネント間で転送されることによって、リソース上で実行されている。表現とは、連続したバイトであり、加えてメタデータはそれらのバイトを説明するものである。
メタデータは、名前と値のペアである。レスポンスメッセージは、表現のメタデータとリソースのメタデータの両方を含んでいる。
コントロールデータは、コンポーネント間でのメッセージの目的を定義している。パラメータ化されたリクエストや、接続しているいくつかの標準の振る舞いを上書きすることに使われている。たとえば、リクエスト・レスポンスのメッセージを含んだコントロールデータで、キャッシュの振る舞いを修正することである。
- Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST) https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm