为什么客户端不应该重复错误的请求?

Why should the client not repeat a bad request?

我读过很多次,当出现 HTTP 400 错误代码(错误请求)时,客户端不应重复请求。

我想知道,如果请求无法完成,为什么客户端不重复请求那么重要?尽管重复请求无助于修复错误,但客户端不重新发送格式错误的请求似乎非常重要。

这是为什么?

如果 400 错误请求表示存在客户端问题,重复请求只会浪费服务器资源。大多数时候,查询参数 header 或 body 的一部分不正确,请求需要进行物理更改才能工作。一些服务器使用 400 来表示请求已被识别但未完成,但总体而言,大多数情况下需要进行一些物理更改。 500 代码表明存在 SERVER 端错误,但此处并非如此。很多时候,会有一个响应 body 解释错误以及 400 代码

重复请求最糟糕的事情是浪费服务器资源,因为它不会在服务器上引起错误,但在大多数情况下重复基本上没有意义。