クライアントの観点から見ると、WCF サービスと REST サービスの実際の違いは何ですか? 私は次の違いを認識しています WCFは複数のトランスポートプロトコル、ホスティング、WS-*機能をサポートし、SOAPメッセージなどに基づいています.RESTサービスは、HTTP動詞、JSON / XML形式、および状態管理としてのハイパーメディアを使用したURIに基づいており、WSDLは必要ありませんJSON DATA で「サービス名/メソッド名」のような JQUERY を使用することで、JavaScript クライアントから WCF サービスを簡単に使用できます。SOAP メッセージに関して複雑な問題に直面したことはありません。、したがって、これはあらゆる種類のクライアントに適用できると思います.SOAPメッセージの複雑さがないため、すべてのRESTグルはあらゆる種類のクライアントに最適であると指摘しています。では、クライアントに関して REST の主な利点を教えてください。(WSDL ドキュメントは忘れてください)。あなたのすばらしい答えに感謝します
1 に答える
まず、REST と呼ばれることが多いのは、実際には REST が意味するものではないことに注意してください。いつ、どのように始まったのかはわかりませんが、ほとんどの人は、REST は単に HTTP メソッドを CRUD にマッピングするか、JSON やプリティ URI などを使用するだけだと信じているようです。
違いは、デバイス上で実行され、サーバーに接続する専用のクライアント アプリケーションと、ブラウザーのような汎用クライアントの違いと同じです。
クライアント側での REST の主な利点は、クライアントとサーバーの実装の間の結合がないことです。SOAP を使用すると、クライアントとサーバーの間で契約された実装にバインドされ、誰かが予告なしに変更された場合、相互作用が中断されることが予想されます。
REST では、クライアントは、エントリ ポイントと利用可能なメディア タイプ以外のサービスの事前情報を持ってはなりません。サーバーは、クライアントが関心のあるリソースを見つけるためにナビゲートするリンクを提供する必要があります。これにより、変更をより適切に処理できます。内部で何かが変わっても、クライアントは気付かないはずです。新しいリンクを取得して、通常どおりフォローするだけです。何かが劇的に変化した場合、理想的には、クライアントは簡単に壊れてはならず、よりゆっくりと変化に適応できるように移行できます。
Stack Overflow 自体のような Web サイトについて考えてみてください。ホームに入ると、質問、回答、およびユーザーが何であるかがすでにわかっているため、エントリポイントとメディアの種類がわかります。この Web サイトには、質問とユーザーへのリンクが用意されており、それらをたどって、提供されたコンテンツに従って好きなように行動するだけです。スタック オーバーフロー サーバーに接続するデスクトップ上で実行される専用のクライアント アプリケーションの代わりに、そのような Web サイトで動作する汎用クライアント、ブラウザーがあります。それが違いです。REST は、Web 自体のアーキテクチャーに従うアーキテクチャー・スタイルです。