Frederico Moreira
Quantas vezes tentamos acessar uma página e não conseguimos, recebemos uma página contendo uma mensagem de erro. Quem nunca passou por isso?



Muitas pessoas quando acessam uma página, não tem ideia do que acontece nos bastidores para que esta página possa ser exibida.

Existe um protocolo denominado HTTP(HyperText Transfer Protocol) que é o responsável pela comunicação entre o seu navegador Web e o servidor onde a página está hospedada. 

Os servidores onde as páginas estão hospedadas sempre que requisitados, retornam um código de resposta HTTP para quem fez uma requisição. 

Podemos ressaltar a importância desses códigos para um time de desenvolvimento, pois estes informam o status de uma requisição de uma página ou de algum recurso dela. Estas informações podem ser usadas como Debug por exemplo durante um ciclo de desenvolvimento.
 


Esses códigos de status HTTP podem ser classificados em cinco grupos específicos, sendo que o primeiro dígito de cada grupo especifica a sua classe de resposta:

  • Classe 1xx (Informativo)
  • Classe 2xx (Sucesso)
  • Classe 3xx (Redirecionamento)
  • Classe 4xx (Erro gerados pelo lado do cliente)
  • Classe 5xx (Erro do Servidor)

Irei mostrar alguns exemplos de cada classe.

100 - Continue - O cabeçalho do pedido foi recebido pelo servidor corretamente eo cliente pode continuar a enviar o corpo da solicitação.

101 - Ligue o Protocolo - O cliente tem solicitações ao servidor para mudar o protocolo e o servidor está respondendo de forma positiva.

102 - No processo - Devido a este código, ele indica que o servidor recebeu o pedido do cliente e processar o pedido, mas a resposta ainda não está disponível. Devido a este cliente não se expirou e presume-se que o pedido foi perdido.

201 - Criado – A solicitação foi bem sucedida e o servidor criou um novo recurso.

202 - Aceito – O servidor aceitou a solicitação, mas ainda não processou.

305 – Utilizar Proxy – O solicitante poderá acessar a página solicitada utilizando um proxy. Quando o servidor retornar essa resposta, também indicará qual proxy o solicitante deverá usar.

400 - Solicitação Inválida – O servidor não entendeu a sintaxe da solicitação.

404 - Não encontrada - A página solicitada não se encontra agora, mas podem estar disponíveis no futuro.

406 - Não Aceitável – A página solicitada não pode responder com as características de conteúdo solicitadas.

505 - Versão HTTP incompatível – O servidor não é compatível com a versão do protocolo HTTP usada na solicitação.

O protocolo HTTP define somente alguns códigos em cada classe descritos na RFC 2616, mas cada servidor pode definir seus próprios códigos.

Referências:

http://www.testinginterviewquestion.com/2014/06/what-are-different-http-status-codes_5.html

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

http://www.w3schools.com/tags/ref_httpmessages.asp