Introdução aos Códigos de Status HTTP

Quando você faz uma solicitação para um servidor na web, ele responde com um código de status HTTP. Estes códigos indicam o resultado da solicitação. Eles são divididos em cinco classes:

  1. Respostas Informativas (100 - 199): Indicam que a solicitação foi recebida e está sendo processada.
  2. Respostas Bem-Sucedidas (200 - 299): Indicam que a solicitação foi recebida, compreendida e aceita com sucesso.
  3. Mensagens de Redirecionamento (300 - 399): Indicam que a solicitação precisa de mais ações para ser concluída, como redirecionamento.
  4. Respostas de Erro do Cliente (400 - 499): Indicam que há algo errado com a solicitação feita pelo cliente.
  5. Respostas de Erro do Servidor (500 - 599): Indicam que o servidor falhou ao cumprir uma solicitação válida.

A seguir, vamos detalhar cada um desses códigos com exemplos em C#.


1. Respostas Informativas (100 - 199)

1.1 100 Continue

Este código significa que o servidor recebeu os cabeçalhos da solicitação e que o cliente deve proceder para enviar o corpo da solicitação. Em C#:

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.Continue)
{
    // Continuar com o envio do corpo da solicitação
}

1.2 101 Switching Protocols

Indica que o servidor está mudando os protocolos conforme solicitado pelo cliente. Por exemplo, mudando para WebSocket. Em C#:

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.SwitchingProtocols)
{
    // Código para trabalhar com o novo protocolo
}

1.3 102 Processing (WebDAV)

Indica que o servidor está processando a solicitação, mas ainda não concluiu. Geralmente usado em operações WebDAV. Exemplo:

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == (HttpStatusCode)102)
{
    // Aguarde até que o servidor tenha concluído o processamento
}