重複の可能性:
REST(簡単な英語)とは何ですか?
RESTful Webアプリケーションとはどういう意味ですか?
Webサービスは、Web(Http)を介して他のプログラムからアクセスできる機能です。少し明確にするために、PHPでHTMLを出力するWebサイトを作成する場合、そのターゲットはブラウザーであり、ひいてはブラウザーでページを読み取る人間です。Webサービスは人間を対象としていません。むしろ他のプログラムで。
SOAPとRESTはWebServicesを作成する2つの方法です。間違っている場合は修正してください?
WebServiceを作成する他の方法は何ですか?
完全にRESTfulなWebアプリケーションとはどういう意味ですか?
StackOverflowの優れた回答を参照してください RESTfulプログラミングとは正確には何ですか?
主なポイントは次のとおりです。
RESTを理解するには、まずHTTPを理解する必要があります。 HTTPプロトコルは、動詞とリソースを中心としています。主流の使用法の2つの動詞はGETとPOSTですが、HTTP標準ではPUTやDELETEなどの他のいくつかの動詞を定義しています。これらの動詞はリソースに適用されます。
RESTfulアプリケーションでは、GETリクエストを使用してデータを変更することはありません。これがPUT、POSTおよびDELETEの目的です。ただし、ほとんどのWebアプリケーションはこれを常に実行しているため、RESTfulではありません。
また、HTTP応答によって返された、リソースに対して取得された実際の表現は、HTTP Acceptヘッダーに依存して、XML、HTTP、または要求されたリソースを表すJava Object 。
上記のポイントは、より一般的なREST建築スタイルの から生まれた(HTTPを介した)特定の実装であるRESTful Webアプリケーションを扱っています。 Roy Fielding による論文。
はい、REST設計は最初はサービスを対象としています。しかし、Webアプリケーションはそのようなサービスをブラウザーアプリケーションに提供することに他なりません。したがって、RESTfulな方法でアプリケーションを設計すると、おそらくMVCフレームワーク内で、私のコントローラーはREST原則に従って編成されています。
例として、私はショッピングカートを持っています。このショッピングカートにアイテムを追加したり、編集または削除したりできます。したがって、RESTサービスを実装し、ブラウザからのリクエストを取得するCartItemという名前のコントローラがあります。「完全に」RESTfulなアプリケーションは、すべてのインタラクションがリソースとRESTfulリクエストとして編成されます。静的ページには、showアクションに反応するコントローラーがあります。