Skip to content

Instantly share code, notes, and snippets.

@tarunama
Last active August 30, 2016 12:30
Show Gist options
  • Save tarunama/3dce8caf7679254a5abfe2729f2a691b to your computer and use it in GitHub Desktop.
Save tarunama/3dce8caf7679254a5abfe2729f2a691b to your computer and use it in GitHub Desktop.

REST

Representational State Transfer

わかりやすい状態の転送


Stateless

クライアントからサーバーへの全てのリクエストに、リクエストを理解するのに必要な情報を含めること。

そして、サーバーに情報を置かず、クライアントに持たせる。


Cache

Statelessは通信料が多くなる欠点があったが、それを解決するのがCache。

レスポンスをキャッシュできれば、同じリクエストを送った場合、再利用することができる。


RESTのデータ型

  • resource

    • hypertext(HTML?)の意図的な参照先の概念
  • resource identifier

    • URL
    • URN リソースにつけられた名前
  • representation

    • HTML document
    • JPEG image
  • representation metadata

    • media type
    • content type
  • resource metadata

    • source link

Resource

リソースは、RESTの中で重要な情報の概念である。名前をつけられた情報は、全てリソースと呼ぶことができる。言い換えれば、HTMLが参照する情報は、リソースの中になければならない。リソースは、実体の集合との概念的なマッピングである。


Representations

RESTコンポーネントは、リソースの状態を捉える表現と、それらをコンポーネント間で転送されることによって、リソース上で実行されている。表現とは、連続したバイトであり、加えてメタデータはそれらのバイトを説明するものである。

メタデータは、名前と値のペアである。レスポンスメッセージは、表現のメタデータとリソースのメタデータの両方を含んでいる。

コントロールデータは、コンポーネント間でのメッセージの目的を定義している。パラメータ化されたリクエストや、接続しているいくつかの標準の振る舞いを上書きすることに使われている。たとえば、リクエスト・レスポンスのメッセージを含んだコントロールデータで、キャッシュの振る舞いを修正することである。


参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment