未指定所需的标头时,HTTP状态代码使用什么?
如果用户向服务器发送请求,并且链接需要设置特定的自定义头才能工作。在这种情况下,错误代码应该是未指定所需的标头时,HTTP状态代码使用什么?,http,http-headers,Http,Http Headers,如果用户向服务器发送请求,并且链接需要设置特定的自定义头才能工作。在这种情况下,错误代码应该是400、403或422?HTTP规范要求任何客户端在不理解最后两位数字的具体含义的情况下,默认情况下将响应视为400。因此,在设计时必须始终假设某些客户机将响应视为400 如果您可以找到一个4xx状态代码,它的特殊额外处理更适合您的应用程序,那么就使用它。当客户机足够了解如何进行额外处理时,您的情况会比发送默认状态稍微好一些 当前注册的状态代码似乎与您的服务器相匹配,这意味着: 403禁止-这是关于服
400
、403
或422
?HTTP规范要求任何客户端在不理解最后两位数字的具体含义的情况下,默认情况下将响应视为400。因此,在设计时必须始终假设某些客户机将响应视为400
如果您可以找到一个4xx状态代码,它的特殊额外处理更适合您的应用程序,那么就使用它。当客户机足够了解如何进行额外处理时,您的情况会比发送默认状态稍微好一些
当前注册的状态代码似乎与您的服务器相匹配,这意味着:
- 403禁止-这是关于服务器拒绝请求,直到它以某种方式被更改。最好在回复正文中说明原因
- 406不可接受-这更具体地说是关于请求头中的值不正确。最常用于Accept:header值
- 412先决条件失败-这是关于协商将发送哪个响应主体时涉及的标题问题。最常用于If-*标题值
当服务器拒绝交付任何东西时,403似乎最准确,除非发送自定义标头。这里有一些讨论--标头和参数不同,不是吗?是的。。。我认为缺少参数也是一种语义不匹配。所以,我认为422适合。