如果缺少必需参数,http服务是否可以返回HTTP 400(错误请求)?

时间:2014-06-23 09:25:16

标签: http-status-code-400

如果缺少必需参数,http服务是否可以返回HTTP 400(错误请求)?当我阅读时,似乎只应在请求中的语法错误中返回http 400,但是我可以像这样处理缺少的参数吗?

1 个答案:

答案 0 :(得分:1)

您是从客户的角度还是从服务器的角度提问?从客户端的角度来看,服务器可以以任何理由返回任何错误;它超出你的控制范围。一个好的服务器会在它告诉你它没有完成请求的情况下返回错误400,因为它认为请求有问题。错误400的唯一解决方案是读取对服务器的请求规范并在代码中修复请求。如果缺少必需的参数,您肯定必须阅读服务器的规范并修复您的代码,因此错误400是(种类)合适的。

如果您编写服务器代码,则应始终返回最合适的错误,请记住报告错误的目的是客户端可以向用户报告问题,或者客户端可以尝试修复问题或处理它,或客户端可能需要更改代码来解决问题。报告错误的错误代码可能会混淆客户端或强制客户端代码在访问服务器时应用黑客攻击,以及修复服务器代码时这些黑客攻击的风险。也就是说,对于缺少必需参数,我找不到明显比400更正确的错误代码。