Cette question ne concerne pas quand utiliser GET ou POST en général; il s'agit de celui qui est recommandé pour gérer la déconnexion d'une application Web. J'ai trouvé beaucoup d'informations sur les différences entre GET et POST dans le sens général, mais je n'ai pas trouvé de réponse définitive pour ce scénario particulier.
En tant que pragmatique, je suis enclin à utiliser GET, car sa mise en œuvre est beaucoup plus simple que POST; déposez simplement un lien simple et vous avez terminé. Cela semble être le cas avec la grande majorité des sites Web auxquels je peux penser, au moins du haut de ma tête. Même Stack Overflow gère la déconnexion avec GET.
Ce qui me fait hésiter, c'est l'argument (quoique ancien) selon lequel certains accélérateurs / mandataires Web pré-cachent les pages en allant récupérer tous les liens qu'ils trouvent dans la page, afin que l'utilisateur reçoive une réponse plus rapide lorsqu'il clique dessus. Je ne sais pas si cela s'applique toujours, mais si c'était le cas, alors en théorie, un utilisateur avec l'un de ces accélérateurs serait expulsé de l'application dès qu'elle se connecterait, car son accélérateur trouverait et récupérerait la déconnexion lien même si elle n'a jamais cliqué dessus.
Tout ce que j'ai lu jusqu'à présent suggère que POST devrait être utilisé pour des "actions destructrices", alors que les actions qui ne modifient pas l'état interne de l'interrogation de type application et autres devraient être traitées avec GET . Sur cette base, la vraie question ici est:
La déconnexion d'une application est-elle considérée comme une action destructrice / modifie-t-elle l'état interne de l'application?