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

JSP HTTP 状态码

La struttura della richiesta HTTP e della risposta HTTP è simile, e ha la seguente struttura:

  • Inizia con la riga di stato+CRLF (riga di ritorno a capo)

  • Zero righe o più righe di modulo di intestazione+CRLF

  • Una riga vuota, come CRLF

  • Messaggi opzionali come file, dati di ricerca, output di ricerca

Per esempio, un'intestazione di risposta del server potrebbe apparire così:

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
  (Riga vuota)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>

La riga di stato contiene la versione HTTP, un codice di stato e un messaggio breve corrispondente al codice di stato.

La tabella seguente elenca i codici di stato HTTP che potrebbero essere restituiti dal server e i messaggi associati:

Codice di statoMessaggio描述
100 Continua Solamente una parte della richiesta è stata ricevuta dal server, ma il client continuerà questa richiesta fintanto che non viene rifiutata dal server
101 Cambiamento di protocolli Protocollo di scambio di server
200 OK La richiesta è stata confermata
201 Creato La richiesta è completa, una nuova risorsa è stata creata
202 Accettato La richiesta è stata accettata, ma non è stata elaborata completamente
203 Informazioni non autentiche  
204 Nessun contenuto  
205 Ripristina contenuto  
206 Contenuto parziale  
300 Scegli multiple choice Una tabella di collegamenti ipertestuali, da cui l'utente può scegliere uno e accedere, supporta al massimo 5 collegamenti ipertestuali
301 Spostato permanentemente La pagina richiesta è stata spostata a un nuovo URL
302 Trovato La pagina richiesta è stata temporaneamente spostata a un nuovo URL
303 Vedi altro La pagina richiesta si trova in un URL diverso
304 Non modificato  
305 Usa proxy  
306Non utilizzato Questo codice di stato non è più utilizzato, ma è stato conservato
307 Redirezione temporanea La pagina richiesta è stata temporaneamente spostata a un nuovo URL
400 Richiesta errata Il server non riconosce la richiesta
401 Unauthorized 401
Non Autorizzato La pagina richiesta richiede nome utente e password402
Pagamento Richiesto Non Può Essere Utilizzato Attualmente 403
Vietato Accesso alla pagina richiesta vietato 404
Non Trovato Il server non può trovare la pagina richiesta 405
Metodo Non Permesso Il metodo specificato nella richiesta non è permesso 406
Non Accettabile Il server può creare una risposta che il client non può accettare 407
Autenticazione del Proxy Richiesta È necessario autenticare un server proxy prima di servire la richiesta 408
Timeout della Richiesta La richiesta è scaduta, la connessione è stata interrotta 409
Conflitto Scomparsa La pagina richiesta non è più disponibile
411 Richiesto la Lunghezza "Content-Length" non definito, il server rifiuta di accettare la richiesta
412 Condizioni Preliminari Fallite Le condizioni preliminari sono state valutate false dal server
413 Entità Richiesta Troppo Grande La richiesta è stata rifiutata perché l'entità richiesta è troppo grande
414 URL Richiesta Troppo Lunga Il server rifiuta di accettare la richiesta perché l'URL è troppo lungo. Si verifica spesso quando si trasformano richieste "POST" in richieste "GET" con una grande quantità di informazioni di ricerca
415 Tipo di Media Non Supportato Il server rifiuta di accettare la richiesta perché il tipo di media non è supportato
417 Fallito l'attesa  
500 Errore Interno del Server La richiesta è incompleta, il server ha incontrato una situazione inattesa
501 Non Implementato La richiesta è incompleta, il server non fornisce la funzione necessaria
502 Bad Gateway La richiesta è incompleta, il server ha ricevuto una risposta non valida dal server di origine
503 Servizio non disponibile La richiesta è incompleta, il server è stato riavviato o chiuso temporaneamente
504 Gateway Timeout Timeout del gateway
505 Versione HTTP non supportata Il server non supporta la versione HTTP specificata

Metodi per impostare il codice di stato HTTP

La tabella sottostante elenca i metodi della classe HttpServletResponse utilizzati per impostare il codice di stato:

S.N.Metodo & 描述
1public void setStatus ( int statusCode ) 此方法可以设置任意的状态码。如果您的响应包含一个特殊的状态码和一个文档,请确保在用PrintWriter返回任何内容前调用setStatus方法
2public void sendRedirect(String url) 此方法产生302响应,同时产生一个 Location 头部告诉URL一个新的文档
3public void sendError(int code, String message) 此方法将一个状态码(通常为 404)和一个简短消息,自动插入HTML文档中并发回给客户端

HTTP状态码程序示例

接下来的示例将会发送407错误码给浏览器,然后浏览器将会告诉您"需要认证!!!"。

<html>
<head>
<title>设置 HTTP 状态码</title>
</head>
<body>
<%
   // 设置错误代码,并说明原因
   response.sendError(407, "需要认证!!!");
%>
</body>
</html>

访问上述JSP页面,将会得到以下结果:

您也可以尝试使用其他的状态码,看看会不会得到意想不到的结果。