RESTの世界観。
RESTとはネットワーク上のリソースを遠隔から操作するためのWebサービスの設計思想。
RESTを実装したWebアプリケーションを「RESTful」と呼ぶ。
RESTfulなWebサービスでは、RESTの仕様に基づいてリモートからWebやデータベースなどのリソースにアクセスすることができる。
RESTが登場する以前から、SOAPと呼ばれる遠隔ネットワーク通信の方式が使われていた。
SOAPでは、まるで関数のように外部のリソースにおけるメソッドを遠隔で呼び出す。この時、データフォーマットにはXMLを使う。
これに対して、RESTではXMLのAtomあるいはJSONといった「データ」を中心にやり取りを行い、URLをベースとしたリクエスト(GET, POST, PUT, DELETEなど)でやり取りを行う。
RESTは、RailsやJavaScriptなど、多くのモダンなWeb技術で使われている。
たとえば、Railsの自動作成機能ScaffoldでCRUD操作を自動作成すると、ルーティングにGETやPOSTだけではなくRESTfulなメソッドが多数作成される。rails routesで表示されるGETやPOST以外のわけのわからないリクエストの正体はRESTfulメソッド。
RailsではHTMLデータだけではなくAjaxなどから用られることを想定したJSONデータの提供機能もHTMLと同様に自動で作成され、HTMLと同様にJSONデータを簡単に公開できる。
JavaScriptでは、JSONやRESTとの親和性が強く、Web APIなどでもREST技術を用いたRESTfulなサービスが提供される。
JavaScriptフレームワークのひとつBackbone.jsでは、クライアントサイドのJavaScriptでは難しいとされてきたモデルすなわちデータベースの処理をRESTを用いることで実現している。
フロントエンドとバックエンドを繋げるには、APIを利用します。
APIとして、一般的にはRESTful APIが使われます。RESTful APIはURIのようなエンドポイントによってAPI操作を行い、フロントエンドでリクエストした情報をバックエンドのサーバーから返します。
ですが、エンドポイントが分からないといった場合も稀にあります。
そのような場合には、GraphQLという技術を使用することで、エンドポイントをひとつだけに制限し、そこからすべての情報を得ることができます。
フロントエンドとバックエンドについてはCGIも参照のこと。
2023.05.12
Webサーバを参照のこと。
Web APIを参照のこと。
Ruby on Railsを参照のこと。
Backboneを参照のこと。
JSONを参照のこと。