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

Codes d'état HTTP JSP

La structure de la requête HTTP et de la réponse HTTP est similaire, et elles ont la structure suivante :

  • Avec la ligne d'état+CRLF (retour chariot et saut de ligne) commence

  • Zéro ou plusieurs lignes d'entête+CRLF

  • Une ligne vide, par exemple CRLF

  • Corps de message optionnel tels que les fichiers, les données de requête, les résultats de la requête

Par exemple, une en-tête de réponse du serveur ressemble à ce qui suit :

HTTP/1.1 200 OK
Contenu-Type: .../html
En-tête2: ...
...
En-têteN: ...
  (Ligne blanche)
<!doctype ...>
<html>
<head>.../head>
<body>
...
</body>
</html>

La ligne d'état contient la version HTTP, un code d'état et un message court correspondant au code d'état.

Le tableau suivant liste les codes d'état HTTP possibles qui peuvent être renvoyés par le serveur et les messages associés :

Code d'étatMessageDescription
100 Continuer Seulement une partie de la demande est reçue par le serveur, mais tant que la demande n'est pas refusée par le serveur, le client continuera cette demande
101 Commutation de protocoles Protocole de commutation de serveur
200 OK La demande est confirmée
201 Créé La demande est complète, une nouvelle ressource est créée
202 Accepté La demande a été acceptée, mais n'a pas été traitée
203 Non-Information autoritaire  
204 Pas de contenu  
205 Contenu réinitialisé  
206 Contenu partiel  
300 Choix multiples Un tableau d'hyperliens, l'utilisateur peut choisir un hyperlien pour accéder, avec un support maximal5un hyperlien
301 Déplacé de manière permanente La page demandée a été déplacée vers une nouvelle URL
302 Trouvé La page demandée a été temporairement déplacée sous une nouvelle URL
303 Voir autre La page demandée peut être trouvée à une URL différente
304 Not Modified  
305 Use Proxy  
306Unused Ce code d'état n'est plus utilisé, mais le code d'état est conservé
307 Temporary Redirect La page demandée a été temporairement déplacée sous une nouvelle URL
400 Bad Request Le serveur ne peut pas identifier la requête
401 Unauthorized La page demandée nécessite un nom d'utilisateur et un mot de passe
402 Payment RequiredCe code d'état n'est pas encore utilisable
403 Forbidden L'accès à la page demandée est interdit
404 Not Found Le serveur ne peut pas trouver la page demandée
405 Method Not Allowed La méthode spécifiée dans la requête n'est pas autorisée
406 Not Acceptable Le serveur ne peut créer qu'une réponse que le client ne peut pas accepter
407 Proxy Authentication Required Il est nécessaire de认证代理 serveur avant que la requête ne soit traitée
408 Request Timeout Le temps de demande dépasse le temps d'attente du serveur, la connexion est interrompue
409 Conflict La requête contient des contradictions
410 Gone La page demandée n'est plus disponible
411 Length Required "Content-La longueur "" n'a pas été définie, le serveur refuse de recevoir la requête
412 Precondition Failed La condition préalable de la requête a été évaluée comme fausse par le serveur
413 Request Entity Too Large Le serveur refuse de recevoir la requête car l'entité de la requête est trop grande
414 Request-url Too Long Le serveur refuse de recevoir la requête car l'URL est trop longue. Cela se produit souvent lors de la conversion d'une requête POST en requête GET avec une grande quantité d'informations de recherche
415 Unsupported Media Type Le serveur refuse de recevoir la requête car le type de média n'est pas supporté
417 Expectation Failed  
500 Internal Server Error La requête est incomplète, le serveur rencontre une situation imprévue
501 Not Implemented La requête est incomplète, le serveur ne fournit pas la fonction nécessaire
502 Bad Gateway La requête est incomplète, le serveur a reçu une réponse invalide de l'upstream
503 Service Unavailable La requête est incomplète, le serveur redémarre ou se ferme temporairement
504 Gateway Timeout Timeout de passerelle
505 HTTP Version Not Supported Le serveur ne supporte pas la version HTTP spécifiée

Méthodes pour définir le code d'état HTTP

Le tableau suivant liste les méthodes utilisées dans HttpServletResponse pour définir le code d'état :

S.N.Méthode & Description
1public void setStatus ( int statusCode ) Cette méthode peut définir n'importe quel code d'état. Si votre réponse contient un code d'état spécial et un document, assurez-vous d'appeler la méthode setStatus avant de renvoyer tout contenu via PrintWriter
2public void sendRedirect(String url) Cette méthode produit302Réponse, tout en produisant une Location L'en-tête indique à l'URL un nouveau document
3public void sendError(int code, String message) Cette méthode envoie un code d'état (généralement 404) et un message court, inséré automatiquement dans le document HTML et renvoyé au client

Exemple de programme de code d'état HTTP

L'exemple suivant enverra407Le code d'erreur est fourni au navigateur, puis le navigateur vous informera "Need authentication!!!".

<html>
<head>
<title>Setting HTTP Status Code</title>
</head>
<body>
<%
   // Définir le code d'erreur et expliquer la raison
   response.sendError(407, "Need authentication!!!" );
%>
</body>
</html>

Accédez aux pages JSP suivantes et vous obtiendrez les résultats suivants :

Vous pouvez également essayer d'utiliser d'autres codes d'état pour voir si vous obtiendrez des résultats inattendus.