私は RESTful アプリケーションで作業しており、REST について読んでいるときに、REST はアーキテクチャではなくアーキテクチャ スタイルであることがわかりましたが、その理由がわかりません。ご回答有難うございます。
私の英語で申し訳ありませんが、それは私の母国語ではありません。
私は RESTful アプリケーションで作業しており、REST について読んでいるときに、REST はアーキテクチャではなくアーキテクチャ スタイルであることがわかりましたが、その理由がわかりません。ご回答有難うございます。
私の英語で申し訳ありませんが、それは私の母国語ではありません。
アーキテクチャは規範的であり、多くの場合、ソリューションの青写真を提供し、コア ビルディング ブロックを定義します。たとえば、「クライアント サーバー」アーキテクチャは、クライアント、サーバー、およびこれら 2 つのコンポーネントが果たす役割を定義します。
アーキテクチャ スタイルは、ソリューションについて考えるためのフレームワークを提供します。REST の場合、URL を介してアドレス指定できるリソースの概念、それらのリソースを操作するための語彙、ステートレスなどです。
これは重要です。「これはクライアント サーバー アーキテクチャですか」という質問には簡単に答えることができるからです。「これは RESTful なソリューションですか」という質問は、答えるのがはるかに難しく、ソリューションが REST のメンタル モデルに従っているかどうかを確認する必要があります。
REST は、分散システム (主に「ハイパーメディア」システム) を設計するためのガイドラインを提供します。これはロイ・フィールディングの作品に基づいています。「アーキテクチャ スタイル」と「アーキテクチャ」を明確にするために、「アーキテクチャ スタイル」を「具体的なアーキテクチャ」(または具体的な実装) を設計するための一連の原則と考えることができます。REST の場合、たとえばいくつかの具体的な実装が定義されていることがわかります。たとえば、Java は REST アーキテクチャ スタイルの独自の実装を開発しました: JAX-RS ( https://jax-rs-spec.java.net/、https://jax-rs-spec.java.net/nonav/2.0/apidocs/index.html )。
うーん、正確にはわかりませんが、REST は一意の URL で表されるリソースと、HTTP 動詞と要求データで表されるそれらのアクションのみを記述するためだと思います。ただし、データ形式がリソース オブジェクトであるかどうかは、開発者の判断です。
たぶん、HTTP さえ必要ありません。