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

Códigos de Estado HTTP Servlet

A estrutura das mensagens de solicitação HTTP e de resposta HTTP é semelhante, e a estrutura é como follows:

  • Linha de estado inicial + Caractere de nova linha (nova linha+nova linha)

  • Zero ou mais linhas de cabeçalho+Caractere de nova linha

  • Uma linha em branco, ou seja, o caractere de nova linha.

  • Um corpo de mensagem opcional, como um arquivo, dados de consulta ou saída de consulta.

Por exemplo, a cabeçalho da resposta do servidor é como follows:

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

A linha de estado inclui a versão HTTP (no exemplo, HTTP/1.1)、um código de estado (no exemplo, 200)e uma mensagem curta correspondente ao código de estado (no exemplo, OK).

A seguir está uma lista de possíveis códigos de estado HTTP retornados por servidores da Web e as informações relacionadas:

CódigoMensagemDescrição
100ContinuarApenas parte da solicitação foi recebida pelo servidor, mas desde que não foi recusada, o cliente deve continuar a solicitação.
101Mudando de ProtocolsA mudança de protocolo do servidor.
200OKA solicitação foi bem-sucedida.
201CriadoA solicitação está completa e cria um novo recurso.
202AceitoA solicitação foi aceita e processada, mas o processamento é incompleto.
203Não-informação autoritativa 
204Nenhum conteúdo 
205Resetar conteúdo 
206Conteúdo parcial 
300Múltiplas escolhasLista de links. O usuário pode escolher um link para acessar o local. No máximo cinco endereços.
301Movido permanentementeA página solicitada foi movida para uma nova URL.
302EncontradoA página solicitada foi temporariamente movida para uma nova URL.
303Ver outroA página solicitada pode ser encontrada em outro URL diferente.
304Não modificado 
305Use proxy 
306Não usadoEste código foi usado em versões anteriores. Agora não é mais usado, mas o código ainda é mantido.
307Redirecionamento temporárioA página solicitada foi temporariamente movida para uma nova URL.
400Solicitação ruimO servidor não entende a solicitação.
401Não autorizadoA página solicitada requer nome de usuário e senha.
402Pagamento necessárioVocê ainda não pode usar este código.
403ProibidoAcesso à página solicitada é proibido.
404Não encontradoO servidor não pode encontrar a página solicitada.
405Método não permitidoO método especificado na solicitação não é permitido.
406Não aceitávelO servidor gera apenas uma resposta que não é aceitável pelo cliente.
407Autenticação do proxy necessáriaAntes de entregar a solicitação, você deve usar a autenticação do servidor proxy.
408Timeout da solicitaçãoO tempo necessário para a solicitação é maior do que o tempo que o servidor pode esperar, timeout.
409ConflitoA solicitação não pôde ser concluída devido a conflitos.
410SumidoA página solicitada não está mais disponível.
411Comprimento requerido"Content"-"Comprimento" não definido. O servidor não pode processar solicitações do cliente sem "Content"-Informação de comprimento
412Condição prévia falhouAs condições prévias fornecidas na solicitação foram avaliadas pelo servidor como falsas.
413Corpo da solicitação muito grandeO servidor não aceita a solicitação, pois o corpo da solicitação é muito grande.
414Solicitação-URL muito longaO servidor não aceita a solicitação, pois a URL é muito longa. Isso ocorre quando você converte uma solicitação "post" em uma solicitação "get" com informações de consulta longas.
415Tipo de mídia não suportadoThe server does not accept the request because the media type is not supported.
417Expectation Failed 
500Internal Server ErrorIncomplete request. The server encountered an unexpected situation.
501Not ImplementedIncomplete request. The server does not support the required functionality.
502Bad GatewayIncomplete request. The server received an invalid response from the upstream server.
503Service UnavailableIncomplete request. The server is temporarily overloaded or has crashed.
504Service UnavailableGateway Timeout
505HTTP Version Not SupportedThe server does not support the "HTTP protocol" version.

Methods to set HTTP status codes

The following methods can be used to set HTTP status codes in Servlet programs. These methods are set through HttpServletResponse Object available.

NumberMethod & Description
1public void setStatus ( int statusCode )
This method sets an arbitrary status code. The setStatus method accepts an int (status code) as a parameter. If your response contains a special status code and document, make sure to use PrintWriter call setStatus before returning any content actually.
2public void sendRedirect(String url)
This method generates a 302 response, along with a new document URL Location header.
3public void sendError(int code, String message)
This method sends a status code (usually 404),along with a short message automatically formatted and sent to the client within the HTML document.

HTTP status code examples

The following example takes 407 Error codes are sent to the client browser, and the browser will display the message "Need authentication!!!".

// Import the necessary java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import javax.servlet.annotation.WebServlet;
@WebServlet("/showError())
// Extend the HttpServlet class
public class showError extends HttpServlet {
 
  // Método para lidar com solicitações de método GET
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // Definir código de erro e motivo
      response.sendError(407, "Necessário autenticação!!!" );
  }
  // Método para lidar com solicitações de método POST
  public void doPost(HttpServletRequest request,
                     HttpServletResponse response)
      throws ServletException, IOException {
     doGet(request, response);
  }
}

Agora, ao chamar o Servlet acima, será exibido o seguinte resultado:

Status HTTP 407 - Necessário autenticação!!!

type Relatório de Status

message Necessário autenticação!!!

description O cliente deve se autenticar primeiro com o proxy (Necessário autenticação!!!).

Apache Tomcat/5.5.29