2017-02-05 19 views
0

Web APIとRESTfulサービスの違いについて質問されており、それも私にとって興味深い質問です。私の観点からは、RESTfulなサービスとWeb APIとの唯一の可能な違いは、RESTfulなサービスは本質的にステートレスであること(クッキーを使用することはできますが)であると考えられますが、本質的にステートレスであるという概念はWeb APIセッションを使用できるため(RESTfulサービスでは使用できません)Web APIとRESTfulサービス

しかし、私はこの質問を投稿して、これらの2つの技術を互いに区別する他の潜在的な違いがあるかどうか確認しました。

答えて

5

プログラミングフレームワークと設計パラダイムを比較しています。それは公正な比較ではありません。

Web APIは、Webサービスアプリケーションフレームワークです。 はそれを使用してREST APIを実装していますが、にはがありません。また、RPCスタイルのサービスを書くこともできますし、実際にはHTTPを話しますが、厳密にはRESTの原則に従わないアプリケーションであれば、どんな種類のアプリケーションでも書くことができます。

+0

ええ、そうだと思いますが、Web APIに書かれたRESTfulなインターフェイス(セッション/クッキーを本質的にサポートしているので)が必ずしもステートレスである必要はないと思いますか? – Arrrr

+0

[No.セッションなどの状態を使うとすぐに、あなたはもうRESTサービスを持っていません](http://stackoverflow.com/questions/6068113/do-sessions-really-violate-restfulness)。 – CodeCaster

+0

あなたが言ったように結論は、設計コンセプトを開発環境と混同してはいけません。 :) – Arrrr

2

RESTは単なるアーキテクチャスタイルです。プロトコルやフレームワークではありません。 RESTfulなサービスは、多くのフレームワークとプログラミング言語を使用して実装できます。 Web APIは、.NETの1つにすぎません。

RESTfulサービスはステートレスです。ここで がメインRESTの制約のリストです:

  • クライアントサーバー
  • ステートレス
  • キャッシュ
  • 統一されたインタフェース
  • レイヤードシステム
  • コードオンデマンド

RESTアーキテクチャの詳細については、Roy Fieldingの 'このlinkの下の出版物。

疑問にお答えしますが、RESTアーキテクチャースタイルのルールに従っている場合にのみ、Web APIフレームワークを使用してRESTfulサービスを実装することができます。

関連する問題