Great just isn't good enough.

毎日が楽しいなんて、毎日楽しくないのと同じ

REST アーキテクチャスタイル

RESTとは

以下の6つの仕様を組み合わせたアーキテクチャスタイル

 

・クライアント/ サーバ 

・ステートレスサーバ   

・キャッシュ       

・統一インターフェース 

・階層化システム

・コードオンデマンド

 

クライアント/サーバ

一般的なWebシステムはHTTPというプロトコルを用いてクライアントから

サーバへ通信を行い、処理結果を得ています。

つまり、クライアントはサーバに対してリクエストを発行し、サーバはクライアントから受けたリクエストを処理し処理した結果をレスポンスとして返却します。

このようなアーキテクチャスタイルをクライアント/サーバと言います。

クライアントとサーバで処理を分けることができるの、マルチプラットフォームにすることができます。

例えば、PCやスマホや携帯端末など

 

ステートレスサーバ

ステートレスとはクライアントの情報をサーバで保持しないということです。

逆はステートフルと言います。

ステートレスの利点は、クライアントからのリクエストを処理したあとは

自分のリソースをすぐに解放することができる点です。

 

キャッシュ

キャッシュとは一度取得したリソースをリソースのバージョン等によって

使い回す方式です。キャッシュは単純に一度得ているリソースはサーバに再取得する必要がなくなるので、通信を減らすことができ、ネットワーク帯域の利用や処理時間を縮小することが可能です。

しかし、キャッシュされているリソースのバージョンが古いものを利用すると

情報の信頼性が落ちてしまうことになります。

 

統一インターフェース

統一インターフェースとは、URIで指定されるリソースに対して操作を

統一したインターフェースで行うアーキテクチャです。

 

階層化システム

クライアントとサーバ間にロードバランサを設置し、リクエストをバランシングしたり、認証システムを設置し、ログイン認証機能を提供したりできることは

システムをいくつかの階層に分離するアーキテクチャスタイルということになります。

このような階層化されたシステムのことを階層化システムと言います。

 

コードオンデマンド

コードオンデマンドは、プログラムをサーバから取得しクライアント側で実行するアーキテクチャスタイルです。

想像しやすいのは、JavaScriptや使用しなくなりましたがFlash等です。

 

 

RESTはこれらの全ての仕様を満たすものということではなく、

いくつか除外しても良いわけです。

しかし、これらの仕様を利用することで(RESTfulにすると)Webは全体としてより良くなります。

 

以上、RESTの解説でした。

 

 

 

 

 

 

 

広告を非表示にする
日本で一番簡単にビットコインが買える取引所 coincheck bitcoin