JSP Codes d'état HTTP

Les requêtes HTTP et les réponses HTTP ont des formats similaires, toutes deux avec la structure suivante :

  • Commencez par une ligne d'état + CRLF (retour chariot saut de ligne)
  • Zéro ou plusieurs lignes d'en-tête + CRLF
  • Une ligne vide, par exemple, CRLF
  • Un corps de message facultatif tel qu'un fichier, des données de requête, une sortie de requête

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

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
  (Blank Line)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>
La ligne d'état contient la version HTTP, un code d'état et un court message correspondant au code d'état.

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

Code d'état Message Description
100 Continue Seule une partie de la requête a été reçue par le serveur, mais tant qu'elle n'a pas été rejetée, le client doit poursuivre la requête.
101 Switching Protocols Le serveur change de protocole
200 OK Requête terminée
201 Created La requête a été complétée et une nouvelle ressource est créée
202 Accepted La requête a été acceptée, mais le traitement n'a pas été terminé
203 Informations non faisant autorité  
204 Aucun contenu  
205 Réinitialiser le contenu  
206 Contenu partiel  
300 Choix multiples Une liste de liens hypertextes, l'utilisateur peut sélectionner un lien hypertexte et y accéder, avec une prise en charge de 5 liens hypertextes maximum
301 Déplacé définitivement 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 vers une nouvelle URL
303 Voir autre La page demandée peut être trouvée à une autre URL
304 Non modifié  
305 Utiliser un proxy  
306 Inutilisé Ce code d'état n'est plus utilisé, mais le code d'état est réservé
307 Redirection temporaire La page demandée a été temporairement déplacée vers une nouvelle URL
400 Requête incorrecte Le serveur n'a pas pu comprendre la requête
401 Non autorisé La page demandée nécessite un nom d'utilisateur et un mot de passe
402 Paiement requis Ce code d'état ne peut pas être utilisé actuellement
403 Interdit L'accès à la page demandée est interdit
404 Non trouvé Le serveur n'a pas pu trouver la page demandée
405 Méthode non autorisée La méthode spécifiée dans la requête n'est pas autorisée
406 Non acceptable Le serveur ne peut créer qu'une réponse que le client ne peut pas accepter
407 Authentification proxy requise Un serveur proxy doit être authentifié avant que la requête puisse être traitée
408 Délai d'attente de la requête dépassé Le temps de requête a dépassé le temps d'attente du serveur et la connexion a été fermée
409 Conflit La requête contient des contradictions
410 Disparu La page demandée n'est plus disponible
411 Longueur requise "Content-Length" n'est pas défini et le serveur refuse d'accepter la requête
412 Échec de la précondition La précondition de la requête a été évaluée comme fausse par le serveur
413 Entité de requête trop grande Le serveur a refusé d'accepter la requête car l'entité de la requête est trop volumineuse
414 URL de requête trop longue Le serveur a refusé d'accepter la requête car l'URL est trop longue. Cela se produit souvent lorsqu'une grande quantité d'informations de requête est ajoutée lors de la conversion d'une requête "POST" en requête "GET"
415 Type de média non pris en charge Le serveur a refusé d'accepter la requête car le type de média n'est pas pris en charge
417 Échec de l'attente  
500 Erreur interne du serveur La requête était incomplète ; le serveur a rencontré une condition inattendue
501 Non implémenté La requête était incomplète ; le serveur ne fournit pas la fonctionnalité requise
502 Mauvaise passerelle La requête était incomplète ; le serveur a reçu une réponse invalide du serveur en amont
503 Service indisponible La requête était incomplète ; le serveur redémarre ou s'arrête temporairement
504 Délai d'attente de la passerelle Délai d'attente de la passerelle
505 Version HTTP non prise en charge Le serveur ne prend pas en charge la version HTTP spécifiée

Méthodes pour définir les codes d'état HTTP

Le tableau suivant répertorie les méthodes utilisées pour définir les codes d'état dans la classe HttpServletResponse :

S.N. Méthode & Description
1 public 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 avec PrintWriter.
2 public void sendRedirect(String url)Cette méthode génère une réponse 302 et génère également un en-têteLocationindiquant l'URL d'un nouveau document
3 public void sendError(int code, String message)Cette méthode insère automatiquement un code d'état (généralement 404) et un court message dans un document HTML, puis le renvoie au client.

Exemple de programme de code d'état HTTP

L'exemple suivant enverra un code d'erreur 407 au navigateur, puis le navigateur vous indiquera "Need authentication!!!".

<html>
<head>
<title>Setting HTTP Status Code</title>
</head>
<body>
<%
   // 设置错误代码,并说明原因
   response.sendError(407, "Need authentication!!!" );
%>
</body>
</html>

Accédez à la page JSP ci-dessus et vous obtiendrez le résultat suivant :

js_http_status_codes

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

Autres extensions