REST とは - AWS AppSync

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

REST とは

大まかに言うと、表現状態転送 (REST) は、 の動作に条件を課すソフトウェアアーキテクチャAPIです。REST は当初、インターネットなどの複雑なネットワークでの通信を管理するためのガイドラインとして作成されました。RESTベースのアーキテクチャを使用して、高性能で信頼性の高い通信を大規模にサポートできます。簡単に実装および変更できるため、あらゆるAPIシステムに可視性とクロスプラットフォームの移植性をもたらします。

API デベロッパーは、複数の異なるアーキテクチャAPIsを使用して設計できます。APIs RESTアーキテクチャスタイルに従う REST は と呼ばれますAPIs。REST アーキテクチャを実装するウェブサービスは、RESTfulウェブサービスと呼ばれます。RESTful API 一般的に、この用語はRESTfulウェブ を指しますAPIs。ただし、 RESTAPIおよび という用語はRESTfulAPI同じ意味で使用できます。

以下は、RESTアーキテクチャスタイルの原則の一部です。

統一インターフェース

統一されたインターフェイスは、あらゆるRESTfulウェブサービスの設計の基本です。これは、サーバーが情報を標準形式で転送することを示しています。フォーマットされたリソースは、 で表現と呼ばれますREST。この形式は、サーバーアプリケーション上のリソースの内部表現とは異なる場合があります。例えば、サーバーはデータをテキストとして保存し、HTML表現形式で送信できます。

統一インターフェースにはアーキテクチャ上の制約が 4 つあります。

  1. リクエストではリソースを特定する必要があります。そのためには、統一されたリソース識別子を使用します。

  2. クライアントはリソース表現に十分な情報を持っており、必要に応じてリソースを変更または削除できます。サーバーは、リソースを詳しく説明するメタデータを送信することで、この条件を満たします。

  3. クライアントは、表現をさらに処理する方法に関する情報を受け取ります。サーバーは、クライアントがそれらを最適に使用する方法に関するメタデータを含むわかりやすいメッセージを送信することでこれを実現しています。

  4. クライアントは、タスクを完了するのに必要なその他すべての関連リソースに関する情報を受け取ります。サーバーは、クライアントがより多くのリソースを動的に見つけられるように、表現にハイパーリンクを送信することでこれを実現しています。

ステートレス性

REST アーキテクチャでは、ステートレスとは、サーバーが以前のすべてのリクエストとは独立してすべてのクライアントリクエストを完了する通信方法を指します。クライアントは任意の順序でリソースをリクエストでき、すべてのリクエストはステートレスであるか、他のリクエストから分離されます。このRESTAPI設計上の制約は、サーバーが毎回リクエストを完全に理解し、満たすことができることを意味します。

階層型システム

階層型システムアーキテクチャでは、クライアントはクライアントとサーバー間の他の許可された仲介者に接続でき、それでもサーバーからの応答を受信します。サーバーは他のサーバーに要求を渡すこともできます。セキュリティ、アプリケーション、ビジネスロジックなど、複数のレイヤーを持つ複数のサーバーで実行されるようにRESTfulウェブサービスを設計し、連携してクライアントリクエストを満たすことができます。これらの階層はクライアントには見えないままです。

キャッシュ性

RESTful ウェブサービスはキャッシュをサポートしています。キャッシュとは、サーバー応答時間を改善するために、一部の応答をクライアントまたは仲介者に保存するプロセスです。例えば、すべてのページに共通のヘッダーとフッターの画像がある Web サイトにアクセスしたとします。新しい Web サイトページにアクセスするたびに、サーバーは同じ画像を再送信する必要があります。これを避けるため、クライアントは最初の応答後にこれらの画像をキャッシュまたは保存し、キャッシュから直接画像を使用します。RESTful ウェブサービスは、自身をキャッシュ可能またはキャッシュ不可として定義するAPIレスポンスを使用してキャッシュを制御します。

とは RESTful API

RESTful API は、2 つのコンピュータシステムがインターネット経由で情報を安全に交換するために使用するインターフェイスです。ほとんどのビジネスアプリケーションは、さまざまなタスクを実行するために他の内部アプリケーションやサードパーティアプリケーションと通信する必要があります。例えば、毎月の給与明細を生成するには、内部会計システムが顧客の銀行システムとデータを共有して請求を自動化し、社内のタイムシートアプリケーションと通信する必要があります。RESTful APIs は、安全で信頼性が高く、効率的なソフトウェア通信標準に従っているため、この情報交換をサポートします。

RESTful APIs 仕組み

の基本的な機能は、インターネットの閲覧と同じRESTfulAPIです。クライアントは、リソースAPIが必要な場合に を使用してサーバーに接続します。API デベロッパーは、サーバーアプリケーションAPIドキュメントRESTAPIでクライアントが をどのように使用するかを説明します。REST API 呼び出しの一般的な手順は次のとおりです。

  1. クライアントはリクエストをサーバーに送信します。クライアントはAPIドキュメントに従って、サーバーが理解できるようにリクエストをフォーマットします。

  2. サーバーはクライアントを認証し、クライアントにそのリクエストを行う権利があることを確認します。

  3. サーバーはリクエストを受け取り、内部で処理します。

  4. サーバーは、クライアントに対してレスポンスを返します。レスポンスには、リクエストが成功したかどうかをクライアントに伝える情報が含まれます。レスポンスには、クライアントがリクエストしたすべての情報も含まれます。

REST API リクエストとレスポンスの詳細は、APIデベロッパーによる の設計方法によって若干異なりますAPI。