不可处理的内容类型是否有正确的 HTTP 状态代码?

Is there a proper HTTP status code for unprocessable Content-Type?

当您的网络服务器无法处理传入请求时,最多 correct/meaningful 到 return 的 HTTP 状态代码是什么,因为它不理解传入请求正文的 Content-Type 是什么?

直接返回 400 似乎是个坏主意,因为根据维基百科:

e.g., malformed request syntax, invalid request message framing, or deceptive request routing

当某些内容类型(如 application/json 或某些 XML 变体存在解析错误或类似问题时,我们实际上 returns 400。

那么除了HTTP 400之外,是否有HTTP状态码表示我们不知道如何处理请求?

HTTP 415 Unsupported Media Type 是您要找的状态码。

The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.

来自the RFC

The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method.