English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Códigos de Estado HTTP do JSP

A estrutura do pedido HTTP e da resposta HTTP é semelhante, e têm a seguinte estrutura:

  • Com a linha de status+Começando com CRLF (Retorno de Carro e Nova Linha)

  • Zero ou várias linhas de cabeçalho+CRLF

  • Uma linha em branco, como CRLF

  • Corpo de mensagem opcional, como arquivos, dados de consulta, saída de consulta

Por exemplo, uma cabeçalho de resposta do servidor parece assim:

HTTP/1.1 200 OK
Conteúdo-Tipo: .../html
Header2: ...
...
HeaderN: ...
  (Linha em Branco)
<!doctype ...>
<html>
<head>.../head>
<body>
...
</body>
</html>

A linha de status contém a versão do HTTP, um código de status e uma mensagem curta correspondente ao código de status.

A tabela a seguir lista os códigos de status HTTP que podem ser retornados pelo servidor e as mensagens associadas:

Código de StatusMensagemDescrição
100 Continue Apenas parte da solicitação foi recebida pelo servidor, mas enquanto não for negada pelo servidor, o cliente continuará essa solicitação
101 Switching Protocols Protocolo de Switching de Servidor
200 OK A solicitação foi confirmada
201 Criado A solicitação foi completa, e um novo recurso foi criado
202 Aceito A solicitação foi aceita, mas não foi completada
203 Não-Informação Autoritativa  
204 Nenhum Conteúdo  
205 Resetar Conteúdo  
206 Conteúdo Parcial  
300 Múltiplas Escolhas Uma tabela de links, onde o usuário pode escolher um link e acessar, suportando até5link
301 Movido Permanentemente A página solicitada foi movida para um novo URL
302 Encontrado A página solicitada foi temporariamente movida para uma nova URL
303 Ver Outro A página solicitada pode ser encontrada em um URL diferente
304 Not Modified  
305 Use Proxy  
306Unused Este código de status já não é usado, mas o código é mantido
307 Temporary Redirect A página solicitada foi temporariamente movida para uma nova URL
400 Bad Request O servidor não pode identificar a requisição
401 Unauthorized A página solicitada requer nome de usuário e senha
402 Payment RequiredEste código de status ainda não pode ser usado
403 Forbidden Acesso à página solicitada é proibido
404 Not Found O servidor não pode encontrar a página solicitada
405 Method Not Allowed O método especificado na requisição não é permitido
406 Not Acceptable O servidor pode criar uma resposta que o cliente não pode aceitar
407 Proxy Authentication Required É necessário autenticar um servidor proxy antes de processar a requisição
408 Request Timeout O tempo de requisição excedeu o tempo que o servidor pode esperar, a conexão foi encerrada
409 Conflict A requisição tem conflitos
410 Gone A página solicitada não está mais disponível
411 Length Required "Content-O "Length" não foi definido, o servidor recusou a aceitação da requisição
412 Precondition Failed A pré-condição da requisição foi avaliada como falsa pelo servidor
413 Request Entity Too Large O servidor recusou a aceitação da requisição devido ao tamanho do corpo da requisição ser muito grande
414 Request-url Too Long O servidor recusou a aceitação da requisição, pois a URL é muito longa. Isso ocorre frequentemente quando uma grande quantidade de informações de consulta é anexada à conversão de uma requisição "POST" para uma requisição "GET"
415 Unsupported Media Type O servidor recusou a aceitação da requisição, pois o tipo de mídia não é suportado
417 Expectation Failed  
500 Internal Server Error Requisição incompleta, o servidor encontrou uma situação inesperada
501 Not Implemented Requisição incompleta, o servidor não oferece a funcionalidade necessária
502 Bad Gateway Requisição incompleta, o servidor recebeu uma resposta inválida do servidor upstream
503 Service Unavailable Requisição incompleta, o servidor foi reiniciado ou desligado temporariamente
504 Gateway Timeout Timeout do gateway
505 HTTP Version Not Supported O servidor não suporta a versão HTTP especificada

Métodos para definir o código de status HTTP

A tabela a seguir lista os métodos usados na classe HttpServletResponse para definir o código de status:

S.N.Método & Descrição
1public void setStatus ( int statusCode ) Este método pode definir qualquer código de estado. Se sua resposta contiver um código de estado especial e um documento, certifique-se de chamar o método setStatus antes de retornar qualquer conteúdo usando PrintWriter
2public void sendRedirect(String url) Este método gera302Resposta, gerando um Location Cabeçalho informa ao URL um novo documento
3public void sendError(int code, String message) Este método envia um código de estado (normalmente 404) e uma mensagem curta, inserida automaticamente no documento HTML e enviada ao cliente

Exemplo de programa de código de estado HTTP

O próximo exemplo enviará407O código de erro é fornecido ao navegador, e o navegador informará "Need authentication!!!".

<html>
<head>
<title>Definindo Código de Estado HTTP</title>
</head>
<body>
<%
   // Definir o código de erro e explicar a razão
   response.sendError(407, "Need authentication!!!" );
%>
</body>
</html>

Acesso às páginas JSP acima resultará em:

Também pode tentar usar outros códigos de estado para ver se obterá algum resultado inesperado.