REST API 【RESTful API】
概要
REST API(RESTful API)とは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、「REST」(レスト)と呼ばれる設計原則に従って策定されたもの。RESTそのものは適用範囲の広い抽象的なモデルだが、一般的にはRESTの考え方をWeb APIに適用したものをREST APIと呼んでいる。REST APIでは、URL/URIですべてのリソースを一意に識別し、クライアントがHTTP(あるいはHTTPS)で要求(リクエスト)を送信すると、応答(レスポンス)がXMLやHTML、JSON、CSV、プレーンテキストなどで返される。
URLパラメータ指定により引数を渡す仕組みなどはあるものの、セッション管理や状態管理などは行わず(ステートレス)、同じURLに対する呼び出しには常に同じ結果が返されることが期待される。
また、データの取得はHTTPのGETメソッド、書き込みならばPOSTメソッドといったように、リソースの操作の種類は極力HTTPメソッドによって指定する。結果の通知(特にエラー通知)も極力HTTPステータスコードで行うという原則が含まれることもある。
ただし、これらの技術的な要件は厳密に共有されているわけではなく、「SOAPやRPCなどを必要としない、軽量でフラットなWebインターフェース」くらいの意味で用いられることが多い。
本来のREST
REST(Representational State Transfer)は2000年にロイ・フィールディング(Roy Fielding)氏が提唱した設計原則で、主として以下の4つの項目から成る。
「セッションなどの状態管理を行わず、やり取りされる情報はそれ自体で完結して解釈することができる」「情報を操作する命令の体系が予め定義・共有されている」「すべての情報は汎用的な構文で一意に識別される」「情報の一部として、別の状態や別の情報への参照を含めることができる」の4つである。
(2020.7.11更新)
関連用語
他の辞典による解説 (外部サイト)
この記事を参照している文書など (外部サイト)
- 高齢・障害・求職者雇用支援機構 ポリテクセンター熊本「センサを活用したIoTアプリケーション開発技術」(PDFファイル)にて引用 (2018年7月以前)