O que significa o código de erro HTTP de 400 pedidos inválidos?

tenho um pedido do JSON que estou a enviar para um URL de HTTP. Este campo deve ser tratado como 400 Onde requestedR ... equestedResource:"Roman"}] isto deve ser tratado como 400 Onde "blah" o campo não existe de todo? [{blah:"Roman"}]

A devolver o http 200 OK com erro dentro do corpo de resposta

pergunto-me se é correcto devolver {[[0]} quando ocorreu um erro no lado do servidor com algum erro dentro do corpo de ... exemplo {"status":"some error occured"} é o comportamento correcto ou não? Não devíamos mudar o código de situação?