REST APIってなんだ?
AWS 認定デベロッパー – アソシエイト試験の勉強をしているのですが、これまで開発系の案件に入ったことはなく開発言語の基本文法を勉強中な身。そんな状態なのでわからない単語のオンパレードです。。
そもそもそんなやつが試験受けるn(ry
で、その中でREST APIという用語が出てきたので
調べてみました。
そもそもAPIとは
restと聞いてなんか休息するのかなぁなんて想像を膨らませましたが、まずはAPIってなんだってところからでした。
API(ApplicationProgrammingInterface)
アプリケーションプログラミングインターフェイス
APIとは、あるコンピュータプログラム(ソフトウェア)の機能や管理するデータなどを、外部の他のプログラムから呼び出して利用する手順やデータ形式などを定めた規約のこと。
多くの開発者さんたちが使うであろう汎用的な機能を呼び出して利用するための手続きを定めたもので、プログラミング言語ごとにどのようにソースコードに記述するべきかを記載しているもの
APIは用法によっていろいろ意味が変わるため、単純なHTTP通信などWeb技術を用いて構築されたAPIサービスをWebAPIと呼び大別されることもあります。
出典:http://e-words.jp/w/API.html
ではそのAPIの中でREST APIってなんぞやということですが
「"REST"という設計原則に基づいて開発されたWebAPI」
で、RESTって?
なんだか泥沼にはまりそうですが、じゃぁその設計原則「REST」ってなんぞ?というと。
Representational State Transfer
2000年にRoyFielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。
設計原則は以下4点
①セッション状態管理を行わない
→やり取りされる情報はそれ自体で完結して解釈できる
②情報を操作する命令の体系が予め定義・共有されている
③すべての情報は汎用的な構文で一意に識別される
④情報の内部に、別の情報や状態へのリンクを含めることができる
要はシンプルなやり取りでぱっと見わかりやすいように作られたAPIということのようです。
出典:http://wp.tech-style.info/archives/683
APIは提供されるものを使用するだけではなく、自分自身で開発するということもできるようで、少し興味が湧きました。
今回は片手間で調べたのでまだまだ深堀りできる知識として置いておきます。
次のステップとして考えるのはありかも。