首先,让我强调一下,状态代码旨在指示服务器试图理解并满足客户请求的结果。
如果一切顺利,那么我将返回
200图像ID。
似乎还可以,但是我建议您返回201一个Location标头。引用RFC 7231的POST方法:
如果由于成功处理
POST请求而在原始服务器上创建了一个或多个资源,则原始服务器应发送201(已创建)响应,该响应包含一个Location标头字段,该标头字段提供所创建的主要资源的标识符以及描述该标头的表示形式引用新资源时的请求状态。
与一起201,Location标头用于指示新创建的资源位于何处。如果没有Location提供标头,则客户端应假定资源由有效请求URI标识:
该
201(创建)状态代码表示该请求已经完成,并已导致正在创建一个或多个新的资源。由请求创建的主要资源由Location响应中的标头字段标识,或者如果未Location接收到字段,则由有效请求URI标识。[...]
客户可以执行新请求并解决问题吗?如果是这样,请选择以下4xx范围内的状态代码:
4xx状态代码的(Client Error)类指示该客户端似乎已出错。除了响应HEAD请求时,服务器应该发送一个包含错误情况的解释的表示,以及它是暂时还是永久的情况。这些状态代码适用于任何请求方法。
Michael Kropat整理了一组非常有用的流程图,可能会给您一些启发。请参阅下表以确定最合适的4xx状态代码:
根据导致错误的原因,一些有效的选项是:
该
413(有效载荷过大)状态代码表示服务器拒绝处理请求,因为这个请求的有效载荷大于服务器愿意或能够处理。[...]
该
415(不支持的媒体类型)状态代码表示原始服务器拒绝,因为有效载荷是不是对目标资源这种方法支持的格式来请求服务。格式问题可能是由于请求的Content-Type或Content-Encoding,或者是直接检查数据的结果。
的
400(错误请求)状态代码表示服务器无法或不愿请求过程中,由于一些被认为是一个客户端错误(例如,恶意请求语法,无效的请求消息帧,或欺骗性的请求路由)。
如果错误是由服务器引起的,则5xx范围内的状态码将是准确的:
5xx状态代码的(服务器错误)类表明服务器知道它已错误或无法执行所请求的方法。除了响应HEAD请求时,服务器应该发送一个包含错误情况的解释的表示,以及它是暂时还是永久的情况。
请参见以下流程图:
我建议500:
的
500(内部服务器错误)状态代码表示服务器遇到意外情况,从完成请求阻止它。
| 归档时间: |
|
| 查看次数: |
970 次 |
| 最近记录: |