这个问题与一般何时使用GET或POST无关。推荐使用哪种方法来处理从Web应用程序注销。在一般意义上,我已经找到了很多有关GET和POST之间差异的信息,但是对于这种特殊情况,我没有找到确切的答案。
作为实用主义者,我倾向于使用GET,因为实现它比POST更简单。只需删除一个简单的链接就可以了。我可以想到的绝大多数网站都是这种情况,至少从我的脑海中可见。甚至Stack Overflow也可以使用GET进行注销。
让我犹豫的是(尽管是旧的)论点,即某些Web加速器/代理通过转到并检索他们在页面中找到的每个链接来预缓存页面,因此用户单击它们时可获得更快的响应。我不确定是否仍然适用,但是如果是这种情况,那么理论上具有这些加速器之一的用户将在登录后立即被踢出应用程序,因为她的加速器将查找并检索注销链接,即使她从未点击过它。
到目前为止,我所读的所有内容都建议将POST用于“破坏性操作”,而不会改变应用程序内部状态的操作(如查询等)应使用GET处理。基于此,这里的真正问题是:
从应用程序注销是否被认为具有破坏性,是否会改变应用程序的内部状态?