MSDNマガジンから https://msdn.Microsoft.com/en-us/magazine/dd315413.aspx および https://msdn.Microsoft.com/en-us/magazine/ dd942839.aspx わかった
RESTfulエンドポイントがHTTPを使用してデータを要求される場合、使用されるHTTP動詞はGETです。
RESTを使用すると、HTTPキャッシングや、条件付きGETなど、サービスのスケーリングを支援する他の機能を利用できます。これらの手法の多くは、SOAP SOAPはHTTP経由でのみPOSTを使用するため。
ウィキペディアのページから http://en.wikipedia.org/wiki/Representational_state_transfer
RESTfulシステムは通常、常にではありませんが、Webページを取得してデータをリモートサーバーに送信するためにWebブラウザーで使用されるのと同じHTTP動詞(GET、POST、PUT、DELETEなど)とハイパーテキスト転送プロトコルで通信します。[
しかし、これは、REST HTTPを使用するアーキテクチャPOSTリソースからデータを取得するためのアーキテクチャに違反します?つまり、SOAPベースのWebサービスはRESTfulですか?
RESTfulとSOAPベースのWebサービスの間に他の違いはありますか?
RESTはHTTP動詞を使用して、実行しようとしているアクションを明確にします。
「GET」リクエストは、ある場所でアイテムを返すようにサービスに要求しています。
「POST」リクエストは、ある場所に新しいエンティティを作成するようにサービスに要求しています(おそらく背後でDBに永続化されます)。
「PUT」リクエストは、ある場所にある既存のエンティティを更新するようにサービスに要求しています。
「DELETE」リクエストは、ある場所にある既存のエンティティを削除するようサービスに要求しています。
だから、「GET」のようなものに「POST」を実際に使用しても、REST APIを自分で呼び出すことはできません。
概念的には、サービスは非常に異なります。
SOAPはリモートプロシージャコール(RPC)に関するもので、メソッドをリモートで呼び出すように設計されています。クライアント上のサーバーメソッドのプロキシは、サーバーとの同期を維持する必要があります。一般に、モデルの同期を保つためにWSDLが使用されます。
SOAPは、多くのHTTP機能も無視します。既に述べたように、すべてにPOSTメソッドを使用します。また、独自のXMLデータ形式でデータをラップします。
RESTはURLを使用してリソースを参照します。リソース表現は任意の形式(json、xml、csv、binary、...)であり、HTTPコンテンツネゴシエーション(Accept *ヘッダー)を利用できます。 HTTPメソッドはCRUDメソッドに非常によくマッピングされます。
True RESTサービスは、ハイパーメディア駆動型のデータ形式(HAL、JSONコレクション、またはベンダーカスタム)を使用する必要があります。単一の固定URLから関連リソースへのリンクを検出する機能を提供します。
http://en.wikipedia.org/wiki/HATEOAS
同じサービス(単一の契約)がそのすべての基準を満たす方法がわかりません。