RESTとは「REpresentational State Transfer」の略で、分散システムで複数のソフトウェアを連携させるための「設計原則の集まり」です。2000年にロイ・フィールディング(Roy Fielding)氏が提唱しました。この設計原則は、主にWebサービスの設計で利用されています。
RESTは4つの設計原則から成り立っています。
セッション等の「状態管理」を行わない。(HTTPのようなステートレスなプロトコルの利用)
全てのリソースに適用できる「情報操作の命令体系」が、あらかじめ定義・共有されている。(GET、POST、PUT、DELETE等のメソッド)
全てのリソースは「汎用的な構文」で一意に識別される。(URIやURL)
情報の内部に「他の情報やリソースへのリンク」を含むことができる。(ハイパーメディア的な書式で情報を表現)
これらの原則に則ったシステムのことを「RESTful」なシステムと表現します。またRESTfulなシステムが他のシステムと連携するためのAPIを「RESTful API」と言います。その一方で、単にHTTPとXMLを使用してリソースの操作を行えばいいという、広義のRESTの考え方も存在します。