500

Internal Server Error

Officiellement, Codes de sous-statut
Une erreur de serveur interne non définie

Explication générale du code d'état 500

Ce bloc de texte n'est malheureusement disponible qu'en anglais.

The HTTP 500 Internal Server Error status code occurs when the server has a problem and is unable to process the user's request. This can have various reasons, such as technical problems, overloading of the server or problems with the software that runs the server.

Spécification du code d'état HTTP 500

Le code d'état 500 Internal Server Error indique que le serveur a rencontré une situation inattendue qui l'a empêché de répondre à la demande.

Source / Citation de : Le code d'état HTTP 500 Internal Server Error est spécifié par la section 6.6.1 de RFC7231.

Comment lancer un code d'état 500 avec PHP ?

Pour lancer le code d'état HTTP 500 sur une page web, on peut utiliser la fonction PHP http_response_code. La syntaxe est la suivante : http_response_code(500) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste le code d'état HTTP 500

Pour pouvoir afficher le code de statut HTTP (dans ce cas 500 Internal Server Error) et d'autres informations côté client, il faut ouvrir la console de développement avec F12. Ensuite, il faut naviguer vers l'onglet "Réseau". La page peut maintenant être ouverte, la page web (exemple index.php) doit être visible dans l'onglet réseau. Il faut la sélectionner et choisir ensuite le domaine Herder. L'utilisateur voit alors le résultat suivant :

Code d'état 500 Internal Server Error
Aperçu
URL: https://http-statuscode.com/errorCodeExample.php?code=500
Statut: 500 Internal Server Error
Ceux-ci: Network
Adresse IP: XX.XX.XX.XX
Code d'état 500 Internal Server Error

Comment résoudre le problème du code d'état 500 ?

Pour résoudre l'erreur HTTP 500 Internal Server Error, la première chose à faire est de comprendre pourquoi le code d'état HTTP 500 Internal Server Error a été lancé. Les raisons peuvent être:

  1. Problèmes de configuration ou de programmation du serveur
  2. Erreur dans le fichier ".htaccess" fichier
  3. fichiers manquants ou endommagés sur le serveur
  4. surcharge du serveur ou ressources insuffisantes comme CPU, RAM ou bande passante
  5. Difficultés de connexion à d'autres systèmes ou bases de données
  6. Problèmes de sécurité tels que des attaques DDoS ou des infections par des logiciels malveillants
  7. Erreurs dans l'application ou le framework sur le serveur

Toutes ces choses doivent être vérifiées, en fonction de la dernière modification effectuée, celle-ci doit être vérifiée en premier. Comme les causes d'un code d'état HTTP 500 Internal Server Error peuvent être très variées, il n'est pas possible de donner une recommandation générale à ce sujet.

Comment créer une page d'erreur personnalisée pour le code d'état 500 ?

Créer sa propre page d'erreur 500 Internal Server Error est relativement facile, aussi bien avec le serveur web "Apache" qu'avec le serveur web "NGINX".

Apache Webserver

Le serveur web "Apache" est l'un des serveurs web les plus répandus sur Internet. Pour créer sa propre page d'erreur 500 Internal Server Error dans "Apache", il faut effectuer la modification suivante dans le fichier suivant.

File: .htaccess
ErrorDocument 500 /errors/500.html

NGINX Webserver

Tout comme le serveur web "Apache", "NGINX" est également très répandu sur Internet. Pour créer sa propre page d'erreur 500 Internal Server Error dans "NGINX", il faut effectuer la modification suivante dans le fichier suivant.

File: sites-enabled/default
error_page 500 /500.html;
location = /500.html {
    root /usr/share/nginx/html;
    internal;
}

Compatibilité du navigateur avec le code d'état 500

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Les constantes dans les langages de programmation

HttpStatusCode.InternalServerError
http.StatusInternalServerError
Response::HTTP_INTERNAL_SERVER_ERROR
httplib.INTERNAL_SERVER_ERROR
http.client.INTERNAL_SERVER_ERROR
http.HTTPStatus.INTERNAL_SERVER_ERROR
:internal_server_error

Codes de sous-statut du 500 Code de statut

Les codes de sous-statut sont purement techniques et ne devraient jamais être envoyés à l'utilisateur. Par exemple, si le code d'état 500.1 est lancé, il peut certes être enregistré, mais le code d'état 500 est envoyé à l'utilisateur.:
500.0 Module or ISAPI error occurred
HTTP IIS, Officieusement
500.11 Application is shutting down on the web server
HTTP IIS, Officieusement
500.12 Application is busy restarting on the web server
HTTP IIS, Officieusement
500.13 Web server is too busy
HTTP IIS, Officieusement
500.15 Direct requests for Global.asax aren't allowed
HTTP IIS, Officieusement
500.19 Configuration data is invalid
HTTP IIS, Officieusement
500.21 Module not recognized
HTTP IIS, Officieusement
500.22 An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
HTTP IIS, Officieusement
500.23 An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode
HTTP IIS, Officieusement
500.24 An ASP.NET impersonation configuration does not apply in Managed Pipeline mode
HTTP IIS, Officieusement
500.50 A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred
HTTP IIS, Officieusement
500.51 A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred
HTTP IIS, Officieusement
500.52 A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred
HTTP IIS, Officieusement
500.53 A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated
HTTP IIS, Officieusement
500.100 Internal ASP error
HTTP IIS, Officieusement
Auteur: Tony Brüser
Auteur: Tony Brüser

Tony Brüser est un développeur web enthousiaste avec une prédilection pour les codes de statut HTTP.

LinkedInGitHub