前提条件
-
完全にステートレスなサービスがあります。たとえば、同じRESTサービスへの後続の呼び出しは、サーバー側で保持されている状態に依存しません。転送されたドキュメントと(HTTP)メソッドのみが状態の識別に使用されます。クライアント側は、アプリケーションシナリオで次に実行する必要があるステップを追跡しますが、サーバー側は追跡しません。
-
(Web)キャッシングインフラストラクチャをサポートし、利用したいと考えることができます。
-
設計は、クライアントとサーバー間で受け渡されるコンテキストとコンテンツを相互に理解したポイントツーポイント統合に基づいています。たとえば、SOAPベースのWebサービス、RESTクライアント、およびサーバーには、それらの間で使用されるインターフェイスの正式な説明がありません。クライアントとサーバーは、交換されるデータを記述するスキーマと、それを有意義に処理する方法について合意する必要があります。
さらに、次のことを考慮する必要があります。
-
帯域幅が制限されている場合、RESTベースの通信によって導入されるオーバーヘッドは、通常、他の通信技術よりも低くなります。
-
フロントエンドテクノロジは、通信アーキテクチャにとって特に重要な場合があります。アプリケーションの構築に技術的基盤(XMLやHTMLなど)を使用すると、RESTサービスをフロントエンドプラットフォームに統合して利用するのが簡単になります。