这似乎在Rails社区常见的,至少,要成功应对POST,PUT或DELETE通过重定向而不是返回成功的请求.例如,如果我PUT对我的用户个人资料进行了合法更改,那么惯用的回复就是302 Redirect个人资料页面.
这不对吗?我们不应该200 OK从请求中返回吗?或者a 201 Created,在POST请求的情况下?无论如何,在HTTP/1.1状态定义中的任何一个都允许(或必须)包括响应.
我想我不知道,以前我去"修理"我的应用程序,是否存在有一个该死的好理由,为什么社会已经重定向,而不是成功响应的方式.
尽管您使用了动词,但我假设PUT您正在谈论一个主要通过浏览器访问的网络应用程序。在这种情况下,使用重定向跟踪 POST 的通常原因是post-redirect-get 模式,它可以避免由于用户刷新或使用浏览器的后退和前进控件而导致的重复请求。在许多情况下,这种模式似乎因重定向到用户可能访问的下一个最可能的位置而不是成功页面而过载。我不认为你提到的任何一种方式都一定是错误的,但是进行重定向可能会更加用户友好,但代价是不严格遵守 HTTP 语义。