Which HTTP method should Login and Logout Actions use in a "RESTful" setupの回答で述べたように、RESTfulなWebサービス(たとえば/webservice/login/
)のログインにはHTTP POST(=作成)を使用することをおすすめします。 POSTは冪等でも安全でもありません(http://restcookbook.com/HTTP%20Methods/idempotency/)。HTTP RESTfulウェブサービスログアウト:POSTまたはDELETEのどちらが正しいか、より良い方法ですか?
ただし、ログアウト(例:/ webservice/logout /)はどうですか。私はPOSTまたはDELETEを使用しますか?
DELETEは冪等です - サーバー上にセッションが存在するかどうかにかかわらず、削除され、Webサーバーからの回答はそれ以上の内容なしでOKです。これはどういうわけか私には自然な感じです。
POSTは冪等ではなく、同様の質問をしたポスターの中には、POSTをRESTログアウトに推奨しています。そうでない場合は(答えの2種類)
ログアウトは、例えば引き起こす可能性 成功答え -
セッションが存在しない場合、サーバーは404を返すことがあります。私は2つの理由を考えることができますユーザ等したがってログアウト操作のため 情報ログアウト含むデータベースの更新が
を冪等されないようにこれをHTTPメソッドは、ログアウトのために良いだろう - POSTを、または削除しますか?
URLは私たちのアプリケーションでセッショントークンを使う悪い例でしたが、RESTの原則に従ってHTTP APIを実装すると、DELETEを使うべきだと思います。 – Blackbam
はい、これは間違いなく、ここでRESTが提供しているメリットは何ですか? – Evert