RESTとは

RESTは「Representational State Transfer」の略で、分散システム内の複数のソフトウェアシステム間で相互作用を可能にすることを目的とした設計原則の集合です。2000年にRoy Fielding氏によって提唱され、主にWebサービスの設計に使用されています。

RESTは、次の4つの主要な設計原則に基づいています。

  1. ステートレスプロトコル:セッション処理などの状態管理は行いません(例:HTTPのようなステートレスプロトコルを使用)。
  2. 定義済みの操作:GET、POST、PUT、DELETEなど、リソースを操作するために共通で使用される定義済みコマンドのセット。
  3. リソースの一意な識別:すべてのリソースは、URIやURLなどの汎用的な構文を使用して一意に識別されます。
  4. ハイパーメディア表現:情報には、ハイパーメディア形式で他の情報やリソースへのリンクを含めることができます。

これらの原則に準拠するシステムはRESTfulシステムと呼ばれ、そのようなシステム間のやり取りを可能にするAPIはRESTful APIと呼ばれます。ただし、より広い意味では、RESTという用語が、HTTPとXMLを使用してリソースを操作するシステムを指す場合もあります。