Imagine que você está enviando uma carta para um amigo. Quando você coloca a carta na caixa de correio, ela começa a ser processada pelo serviço postal. Se tudo der certo, ela chegará ao seu amigo e ele poderá lê-la.
Da mesma forma, quando você faz uma requisição de API, está pedindo para que um servidor lhe envie informações. O servidor processa a sua requisição e envia uma resposta de volta para você. Essa resposta tem um “status code”, que é como um selo na carta que indica se ela foi entregue com sucesso ou se houve algum problema.
Existem muitos códigos de status diferentes e a seguir você terá o detalhamento da maioria deles:
1xx (informativo):
Esses códigos indicam que a requisição foi recebida pelo servidor e o processamento continua.
- 100 Continue: o servidor recebeu a solicitação e continua a processá-la.
- 101 Switching Protocols: o servidor concorda em trocar protocolos solicitados pelo cliente.
2xx (sucesso):
Esses códigos indicam que a solicitação foi recebida, entendida e aceita com sucesso pelo servidor.
- 200 OK: a requisição foi bem-sucedida.
- 201 Created: a solicitação foi bem-sucedida e resultou na criação de um novo recurso.
- 202 Accepted: a solicitação foi aceita para processamento, mas ainda não foi concluída.
- 203 Non-Authoritative Information: a resposta foi recebida com sucesso, mas pode ser modificada pelo servidor.
- 204 No Content: a solicitação foi bem-sucedida, mas não há conteúdo a ser enviado de volta.
- 205 Reset Content: a solicitação foi bem-sucedida e o cliente deve redefinir a exibição do documento que enviou a solicitação.
- 206 Partial Content: a solicitação foi bem-sucedida, mas apenas uma parte do recurso foi enviada de volta.
3xx (redirecionamento):
Esses códigos indicam que a solicitação precisa ser redirecionada para outro recurso.
- 300 Multiple Choices: a solicitação tem várias respostas possíveis.
- 301 Moved Permanently: o recurso solicitado foi movido permanentemente para outro local.
- 302 Found: o recurso solicitado foi encontrado temporariamente em um local diferente.
- 303 See Other: o servidor redireciona o cliente para outro recurso.
- 304 Not Modified: o recurso solicitado não foi modificado desde a última vez que foi acessado.
- 305 Use Proxy: o recurso só pode ser acessado por meio de um proxy.
- 307 Temporary Redirect: o servidor redireciona o cliente para outro recurso temporariamente.
4xx (erro do cliente):
Esses códigos indicam que houve um erro na solicitação do cliente.
- 400 Bad Request: a solicitação não pode ser processada devido a um erro no lado do cliente.
- 401 Unauthorized: a solicitação não pode ser processada sem autenticação válida.
- 402 Payment Required: a solicitação não pode ser processada sem um pagamento válido.
- 403 Forbidden: o servidor entendeu a solicitação, mas se recusa a processá-la.
- 404 Not Found: o servidor não pode encontrar o recurso solicitado.
- 405 Method Not Allowed: o método de solicitação não é permitido para o recurso solicitado.
- 406 Not Acceptable: o servidor não pode fornecer uma resposta que atenda aos critérios definidos pelo cliente.
- 407 Proxy Authentication Required: o cliente deve primeiro se autenticar com o proxy.
- 408 Request Timeout: o servidor encerrou a conexão devido à solicitação do cliente ter demorado demais.
- 409 Conflict: a solicitação não pode ser concluída devido a um conflito com o estado atual do recurso.
- 410 Gone: o recurso solicitado não está mais disponível.
- 411 Length Required: a solicitação não pode ser processada sem o comprimento do conteúdo.
- 412 Precondition Failed: a solicitação contém pré-condições que não são atendidas pelo servidor.
- 413 Payload Too Large: a solicitação excede o tamanho máximo permitido pelo servidor.
- 414 URI Too Long: a URI da solicitação é muito longa para o servidor processar.
- 415 Unsupported Media Type: o tipo de mídia da solicitação não é suportado pelo servidor.
- 416 Range Not Satisfiable: o intervalo especificado na solicitação não pode ser atendido pelo servidor.
- 417 Expectation Failed: o servidor não pode atender às expectativas indicadas na solicitação.
- 418 I’m a teapot: este código é usado quando o servidor é um bule de chá e não pode processar a solicitação.
- 422 Unprocessable Entity: a solicitação foi bem formada, mas o servidor não pode processá-la devido a erros semânticos.
- 429 Too Many Requests: o cliente enviou muitas solicitações em um determinado período de tempo.
5xx (erro do servidor):
Esses códigos indicam que houve um erro no servidor ao processar a solicitação.
- 500 Internal Server Error: o servidor encontrou um erro interno inesperado.
- 501 Not Implemented: o servidor não suporta a funcionalidade solicitada pelo cliente.
- 502 Bad Gateway: o servidor atuando como gateway ou proxy recebeu uma resposta inválida do servidor upstream.
- 503 Service Unavailable: o servidor está temporariamente indisponível devido a manutenção ou sobrecarga.
- 504 Gateway Timeout: o servidor atuando como gateway ou proxy não recebeu uma resposta a tempo.
- 505 HTTP Version Not Supported: o servidor não suporta a versão HTTP especificada na solicitação.
Se você gostou do conteúdo, convido a conhecer mais do meu trabalho no curso gratuito que preparei com exemplos de consultas GET e POST, além de todo conteúdo exclusivo que encontra no curso completo.