Um código de status HTTP é um número de três dígitos que informa ao cliente como o servidor tratou sua requisição. Navegadores e clientes de API leem esse número para decidir se a requisição teve sucesso, se é preciso um redirecionamento ou se ocorreu um erro.
O primeiro dígito do código define sua classe. 1xx é uma resposta provisória informativa, 2xx é sucesso, 3xx significa que é necessária uma ação adicional (um redirecionamento), 4xx é um erro do lado do cliente e 5xx é um erro do lado do servidor. Assim, só com o primeiro dígito já dá para ter uma ideia aproximada da natureza do problema.
Por exemplo, 200 significa OK, 301 uma mudança permanente, 404 que o recurso não existe e 500 um erro interno do servidor. Na prática, quando você vê um 4xx, verificar primeiro o lado da requisição (o cliente), e diante de um 5xx verificar primeiro os logs do servidor, é o ponto de partida da depuração.