对于HTTP / 1.1响应返回HTTP状态代码421错误请求,是否有意义?

时间:2018-11-30 23:42:30

标签: http-status-codes http2 http-1.1 http-status-code-421

我目前正在调试来自API的令人惊讶的“错误请求”响应。

请求:

POST /path HTTP/1.1
...

响应:

HTTP/1.1 421 Misdirected Request
Date: Fri, 30 Nov 2018 21:59:12 GMT
...
Via: https/1.1 subdomain.example.org (ApacheTrafficServer/7.1.4)
...

根据我的研究,HTTP状态代码421仅与http/2 specification一起添加。如您所见,我的客户端正在发送HTTP1.1请求。

在响应HTTPS / 1.1请求时使用它有意义吗?那里是什么意思?


更新:进一步的研究表明,此421响应是由无效的CSRF令牌和标头中的Cookie值触发的,使用可验证的有效组合重试请求将返回预期结果{{1} }。不幸的是,这并不能真正解释任何问题。

1 个答案:

答案 0 :(得分:2)

为HTTP / 2添加了

421,允许重新使用连接。如果客户端错误地重用了连接(like Firefox used to),则服务器应对此进行响应。

但是,这并不意味着它是仅HTTP / 2的状态代码。例如,如果负载平衡器接收HTTP / 2请求,然后通过HTTP / 1.1将它们传递给后端服务器,则这些后端服务器之一可以认为如果HTTP / 1.1错误地发送了该请求,则可以拒绝该请求。如您所见,您的请求是通过Apache Traffic Server发送的,所以我怀疑这是在这里发生的。