English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 Status | Mensagem | Descriçã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 | |
306 | Unused | 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 Required | Este 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 |
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 |
---|---|
1 | public 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 |
2 | public void sendRedirect(String url) Este método gera302Resposta, gerando um Location Cabeçalho informa ao URL um novo documento |
3 | public 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 |
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.