私は最近、どの JavaScript フレームワークを使用するかを調べていて、かなりの数のブランドを見REST
て、ブランド化されていますが、それらが何を指しているのかわかりません。REST-persistable
3 に答える
REST
またはRepresentationalStateTransferは、実際にはサーバー側の用語であり、Webサービスの特定のアーキテクチャスタイルを指します。それは彼の博士論文でロイ・フィールディングによって造られました。
の中心的な概念は、リソースREST
(データのソース)の存在であり、各リソースはグローバル識別子(HTTPのURIなど)で参照されます。これらのリソースを操作するために、ネットワークのコンポーネント(ユーザーエージェントとオリジンサーバー)は、標準化されたインターフェイス(HTTPなど)を介して通信し、これらのリソース(情報を伝達する実際のドキュメント)の表現を交換します。
Javascriptフレームワークの場合、それは主に、意図された目的HTTP
に従ってのみ各動詞を使用することを意味します。つまり、での削除、での追加、での読み取りなどです。また、データエンティティを人間が読み取れるURLに直接マッピングする命名基準に準拠することを意味します。HTTP DELETE
HTTP PUT
HTTP GET
REST
RESTの主な機能 [ソース]
クライアント/サーバー-統一されたインターフェースがクライアントをサーバーから分離します。この関心の分離は、たとえば、クライアントが各サーバーの内部に残るデータストレージに関心がないことを意味し、クライアントコードの移植性が向上します。サーバーはユーザーインターフェイスやユーザーの状態に関係しないため、サーバーをよりシンプルでスケーラブルにすることができます。サーバーとクライアントは、それらの間のインターフェースが変更されない限り、独立して交換および開発することもできます。
ステートレス-クライアントとサーバーの通信は、リクエスト間でサーバーにクライアントコンテキストが保存されていないため、さらに制約されます。クライアントからの各リクエストには、リクエストを処理するために必要なすべての情報が含まれており、セッション状態はクライアントで保持されます。
キャッシュ可能-WorldWideWebと同様に、クライアントは応答をキャッシュできます。したがって、応答は、クライアントがさらなる要求に応答して古いデータまたは不適切なデータを再利用することを防ぐために、暗黙的または明示的に、キャッシュ可能であるかどうかを定義する必要があります。適切に管理されたキャッシングにより、クライアントとサーバーの相互作用が部分的または完全に排除され、スケーラビリティとパフォーマンスがさらに向上します。
階層化システム-クライアントは通常、エンドサーバーに直接接続されているのか、途中で仲介者に接続されているのかを判断できません。中間サーバーは、負荷分散を有効にし、共有キャッシュを提供することにより、システムのスケーラビリティを向上させることができます。また、セキュリティポリシーを適用する場合もあります。
コードオンデマンド(オプション) -サーバーは、実行可能コードを転送することにより、クライアントの機能を一時的に拡張またはカスタマイズできます。この例には、Javaアプレットなどのコンパイル済みコンポーネントやJavaScriptなどのクライアント側スクリプトが含まれる場合があります。
統一されたインターフェース-以下で説明するクライアントとサーバー間の統一されたインターフェースは、アーキテクチャを簡素化および分離し、各部分を独立して進化させることを可能にします。
このトピックに関する多くの良い情報があります。たとえば、RESTの簡単な紹介
REST
今日は本当に酷使されている言葉です。REST永続フレームワークは、(ほとんど)GETおよびPOST(XHR)HTTPリクエストとJSON形式のデータを使用して、サーバーとある程度自動で通信できる(つまり、クライアント側でデータを処理できる)フレームワークです。
これは、特定の一連の機能を持つ Web API パラダイムです。