この質問は、GETまたはPOSTを一般的にいつ使用するかに関するものではありません。これは、Webアプリケーションのログアウトを処理するために推奨される方法です。一般的な意味でのGETとPOSTの違いに関する多くの情報を見つけましたが、この特定のシナリオに対する明確な答えは見つかりませんでした。
実用主義者として、私はGETを使用する傾向があります。GETの実装はPOSTよりもはるかに簡単だからです。単純なリンクをドロップするだけで完了です。これは、少なくとも頭のてっぺんから、私が考えることができる大多数のWebサイトに当てはまるようです。Stack Overflowでも、GETを使用してログアウトを処理します。
私が躊躇しているのは、一部のWebアクセラレータ/プロキシがページ内で見つかったすべてのリンクに移動して取得することでページをプリキャッシュする(古い)引数であり、ユーザーがクリックしたときにユーザーがより迅速に応答するようにします。これがまだ当てはまるかどうかはわかりませんが、これが当てはまる場合、理論的には、これらのアクセラレータのいずれかを使用しているユーザーは、ログインするとすぐにアプリケーションから追い出されます。彼女はそれをクリックしなかった場合でも、リンク。
これまでに読んだことはすべて、POSTは「破壊的なアクション」に使用する必要があることを示唆していますが、アプリケーションの内部状態を変更しないアクション(クエリなど)はGETで処理する必要があります。これに基づいて、ここでの本当の質問は次のとおりです。
アプリケーションからのログアウトは破壊的なアクションと見なされますか/それはアプリケーションの内部状態を変更しますか?