当客户错过接受报价的机会时,应使用什么 HTTP 响应代码
本文关键字:什么 代码 响应 HTTP 机会 错过 客户 | 更新日期: 2023-09-27 18:34:18
我正在用C#编写一个Web应用程序。一项功能是服务器将发送推送通知,为客户端提供执行一轮工作的机会。客户可以接受或拒绝这项工作。
但是,如果客户端响应时间太长,服务器会将其视为隐含拒绝,并将工作轮次提供给其他人。
下面是服务器上控制器终结点的摘录,客户端可以在其中发布它对当前轮次的接受
public HttpResponseMessage PostAcceptRound(PersonData accepter){
Round currentRound = repo.GetCurrentRound();
if(currentRound.offeredTo.id == accepter.id){
repo.RoundAccepted(currentRound.id);
return Request.CreateResponse<String>(HttpStatusCode.OK, "Round has been accepted");
}
else{
//return appropriate response
}
}
我的问题是:对于需要很长时间才能接受的客户来说,适当的回应是什么?
我的第一反应是我应该发送一个"BadRequest"错误响应。但是,并不是说一个人迟到拒绝是格式不佳的请求或出乎意料的事情。事实上,似乎接受太晚将是使用此应用程序时经常发生的情况。
> 408 = '请求超时' 在我看来是最合适的。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html