我需要通知客户我希望它在 30 秒内重新访问资源,因为我无法立即给他满意的答复。 这不是典型的情况,但会不时发生。
使用 Retry-After: 30
指向客户端标头请求的相同 URL 的 302 重定向是不错的选择吗? 还是这样的循环重定向总是不好的?
这种重定向循环对我来说似乎是一个坏主意。
您可以通知客户端他们需要启动重新加载。"抱歉,请稍后再试"
另一个要考虑的选项是 SignalR。通过使用此功能,您可以自动更新 UI,而无需重新加载页面。
这是一件合理的事情;客户端有责任进行循环检测(HTTP本身也谈到了这一点)。
詹姆斯·斯内尔(James Snell)在这里进行了一些深入的介绍,这可能是相关的,这取决于您要执行的操作: http://chmod777self.blogspot.com.au/2013/01/asynchronous-patterns.html
您可以使用"503 服务不可用"进行回复,并在之后回复,该回复指示您多久可以提供令人满意的回复。即使你的服务在某种程度上是可用的,但它实际上不是,因为它无法提供所需的响应。