API とは
API はAPIとはApplication Programing Interfaceの略で、アプリケーション・ソフトウェアを構築および統合するための一連のツール、定義、およびプロトコルです。情報プロバイダーと情報ユーザーの間の契約とみなされることもあり、コンシューマー (呼び出し) から要求されるコンテンツとプロデューサー (応答) によって要求されるコンテンツを確立します。たとえば気象情報サービスの API 設計では、ユーザーが郵便番号を指定すると、プロデューサーが最高気温と最低気温という 2 種類の回答を返すようにできます。
Web API とは
Web APIとは、httpやhttpsなどWeb技術を用いて実現されるAPIの一類型です。
HTTPとは、WebサーバーとWebブラウザ間でデータをやり取りする際に用いられる通信規則(プロトコル)です。さらに、この通信を暗号化したものがHTTPSと呼ばれています。
Web APIの採用するHTTP/HTTPSによる通信では、プログラミング言語が異なっていても通信でき、Webブラウザ上でも稼働する利点があります。さらにデータは自動更新されるなど汎用性の高さに加え、無料のWeb APIも多く公開されていることから、様々なシーンでの導入が進められてきました。新たなサービスとして生み出されたのがマッシュアップです。マッシュアップとは、Web上に公開されている情報を加工、編集することで新たなサービスを生み出すことを意味します。
Web APIの登場は既存のサービスを利用できるだけでなく、そこから新しいサービスを創造できることから、Web サービスの可能性が大きく広がりました。
RESTとは?
「REST」とは「シンプルなWebシステムの設計思想」のことです。
これは「REpresentational State Transfer」(リプレゼンテーショナル・ステイト・トランスファー)の略で、
- Representational →具象化された
- State →状態の
- Transfer →転送
①統一インターフェース
統一インターフェースは、あらかじめ定義・共有された方法でやり取りされることです。
Webの場合、例えば「GET・POST・PUT・DELETE等のHTTPメソッドでやりとりするよ~」とか「やり取りするデータはJSON形式にしようね〜」といったものになります。
データの形式にはXML等もありますが、近年は軽量なJSON形式が使われることが多いです。
②アドレス可能性
アドレス可能性は、全ての情報が一意なURI(識別子)を持っていて、提供する情報をURIで表現できることです。
このURIはUniformed Resource Identifierの略で、Webの場合は通常URLで与えられます。
③接続性
接続性は、やりとりされる情報にはハイパーリンクを含めることができる、というものです。
1つのリンクから別の情報にリンク(接続)することができて、RESTfulなシステム同士なら円滑に情報連携を行うことができます。
④ステートレス性
ステートとは「状態」のことでしたね。これがレスなので「状態がない」ということになります。
つまり、RESTでは「やりとりが1回ごとに完結する」と理解することができます。
これは、前のやり取りの結果に影響を受けないのでシンプルな設計にできるというメリットがあります。(セッション管理が不要など)
REST API とは
「REST API」とはRESTの4原則に則ったAPIのことです。
関連サイト
- https://api.edu2web.com/