歴史に行きましょう。ロイ フィールディング研究について話しましょう – 「<a href="https://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf" rel="noreferrer">建築様式とネットワークベースのソフトウェアアーキテクチャの設計」. 大きな紙で、いろいろなことが書かれています。しかし、標準的なエンジニアとして、REST (Representational State Transfer) の明確な意味と、そのアーキテクチャ スタイルとは何かを説明するにはどうすればよいでしょうか。
これが私の説明方法です - 「RESTとは」。
ルーター、サーバー、ファイアウォール、クラウド インフラストラクチャ、スイッチ、LAN、WAN など、さまざまなハードウェア上で実行されているこの www (ワールド ワイド ウェブ) を参照してください。この www (ワールド ワイド ウェブ) の全体的な目的は、ハイパーメディアを配布することです。このワールド ワイド ウェブには、情報ベースのサービス、ウェブサイト、YouTube チャンネル、動的ウェブサイト、静的ウェブサイトなど、さまざまなサービスが備わっています。このワールド ワイド ウェブは、HTTP プロトコルを使用して、クライアント/サーバー メカニズムで世界中にハイパーメディアを配信します。この HTTP プロトコルは、TCP/IP またはその他の適切なネットワーク スタック上で動作します。
このHTTP プロトコルは、「配布のプロトコル」または「配布のアーキテクチャ スタイル」を管理するために 8 つのメソッドを使用しています。つまり、これらの 8 つのメソッドは、OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT です。
しかし、この HTTP の上で、Web アプリケーションはハイパーメディアを配布する独自の方法を使用しています。 HTTP 上のそのような配布チャネル。
Roy Fielding Researchによると、HTTP のこれら 8 つのメソッド OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT は、さまざまなハードウェア リソースとクライアントとのネットワーク スタックの上で、HyperMedia を世界中に配信するのに非常に成功しています。 /server メカニズム、Web ベースのアプリケーションでも同様の戦略を使用してみませんか。この GET、POST、DELETE、および PUT が最もよく使用されます。そのため、4 つの方法で HyperMedia を世界中に配信します。
REST APIアーキテクチャ スタイルのアプリケーションでは、Web アプリケーションは、オブジェクト エンティティのすべてのセット (例: 顧客はエンティティ) と可能な操作 (例: '顧客情報の取得ベース顧客ID') に。これらのエンティティで可能な操作は、作成、取得、更新、削除という 4 つの主要な操作またはメソッドで設計する必要があります。これらのエンティティはリソースと呼ばれ、 JSON や XML などの形式で表示または表現されます。Create、Retrieve、Update、Delete (CRUD)メソッドを呼び出して、サーバーに存在するリソースに対して適切な機能を実行するクライアント(ブラウザ)があります。
しかし、 Representationの概念で説明したように、ビジネス ロジックまたはオブジェクトのエンティティを表す方法を意味します。しかし、「State Transfer」はどうですか?
The State Transferは、クライアントからサーバーへの「通信の状態」について語っています。クライアントからサーバーへの「状態転送」の設計について説明します。たとえば、クライアントは最初に操作「顧客の作成」を呼び出し、これを呼び出した後、顧客の次の状態または「クライアント」が呼び出すことができる顧客の状態になります。その状態は、「作成されたクライアント データを取得する」、「クライアント データを更新する」などです。