RESTとは?クライアント/サーバアーキテクチャを土台とした構成をわかりやすく解説
投稿日: 2025年06月11日
Web 全体を支える代表的なアーキテクチャスタイルのひとつが「REST」です。
では、その REST はどのような考え方で構成されているのでしょうか。
REST は、複数のアーキテクチャスタイルを組み合わせて構築される複合アーキテクチャスタイルです。
その中核となるのが「クライアント/サーバ」であり、ここにさまざまな制約を加えることで、REST というスタイルが形作られていきます。
本記事では、まずその土台となる「クライアント/サーバ」について詳しく見ていきましょう。
関連する記事も良かったらご覧ください!!
WEBは、HTTPプロトコルでクライアントとサーバが通信するクライアント/ サーバのアーキテクチャスタイルを採用しています。
すなわちクライアントはサーバにリクエストを送り、サーバはリクエストに対してレスポンスを返すということです。(図1)
※図1
クライアント/ サーバの利点は、単一のコンピュータ上で全ての処理をするのではなく、クライアントとサーバに分離して処理ができるんです!!
これにより、クライアント側をマルチプラットフォームにできます。
クライアント部分を異なる環境(Windows、Mac、スマホなど)で動作させることが可能。
サーバとの通信が標準化されていれば、クライアントはプラットフォームに依存しない設計ができる。
また、ユーザーインターフェース(UI)はクランアント側が担当するため、サーバ側はデータストレージとしての機能だけ提供すれば良くなってきた。
さらに複数のサーバを組み合わせて冗長化することで、可用性を上げるようになります。
このように、クライアント/サーバモデルは、処理の分離による柔軟な設計、マルチプラットフォーム対応のしやすさ、サーバの冗長化による可用性の向上といった多くの利点を持っています。
RESTの設計も、このクライアント/サーバを土台とし、その上にさらなる制約を積み重ねることで構築されています。
次回は、RESTを構成するもう一つの重要な要素である「ステートレス」について見ていきましょう。
マルチプラットフォームとは、 異なる機種やOSでも、同じアプリケーション の動作が可能なプログラム。
現在はシステムやツールの動作環境が多様化し、単一のプログラムでも対応できる。
例) スマートフォンのアプリ開発に関しても、Android・iOS両方に対応させるケースが一般的になってきた。
冗長化とは、 システムや設備に不測の事態が発生しても、運用や業務を止めることなく復旧や対応ができるように、予備の設備やサブシステムなどを平常時から運用しておくこと
可用性とは、 システムが障害なく継続して稼働できる能力や、その指標を意味する