Erreur HTTP 500 - Erreur de serveur interne expliquée en anglais simple

Les codes d'erreur de la gamme 4xx signifient que vous ou votre navigateur avez fait quelque chose de mal. Peut-être que vous n'étiez pas connecté, avez essayé d'accéder à quelque chose pour lequel vous n'aviez pas l'autorisation ou vous êtes simplement perdu.

Cependant, les codes d'erreur de la plage 5xx signifient que l'erreur est entièrement hors de votre contrôle (sauf si vous êtes le développeur / administrateur du serveur). Le deuxième code d'erreur le plus frustrant sur lequel vous puissiez tomber sur Internet est peut-être le redouté 500.

Qu'est-ce que ça veut dire?

En termes simples, le serveur a tenté de faire quelque chose et a échoué.

Selon RFC 7231:

Le code d'état 500 (Erreur interne du serveur) indique que le serveur a rencontré une condition inattendue qui l'a empêché de répondre à la demande.

La cause de cela peut être n'importe quoi, vraiment!

Imaginons que vous accédiez à un site Web en utilisant une API PHP Laravel pour son back-end.

La chose qui lance l'erreur 500 pourrait être quelque chose d'aussi simple qu'une erreur error_logessayant de consigner un tableau au lieu d'une chaîne - quelque chose de complètement sans rapport avec votre demande, mais néanmoins une erreur que PHP lancerait et tuerait la demande que vous avez faite au serveur.

Habituellement, quelque chose d'aussi trivial que cela serait détecté avant le déploiement (espérons-le), mais cela montre simplement qu'en tant qu'utilisateur d'un site Web ou d'une application, l'erreur est vraiment hors de votre portée.

Comment y remédier?

En tant qu'utilisateur sans accès au serveur, vous n'avez vraiment que l'option:

Informez le propriétaire du site qu'un 500 est renvoyé alors que vous vous attendez autrement

Si vous vous attendez à ce que vous puissiez accéder à la ressource en question, mais que vous voyez cette erreur, il est sage d'en informer l'équipe derrière le site.

Essayez de donner aux développeurs / à l'équipe de support autant d'informations sur ce que vous tentiez de faire afin qu'ils puissent rapidement répliquer le problème pour localiser le bogue.

Si vous vous sentez particulièrement utile ou curieux, vous pourrez peut-être rechercher plus d'indices dans l'onglet réseau des outils de développement de votre navigateur.

Sur Firefox, vous pouvez ouvrir l'onglet réseau avec les touches de raccourci ctrl + shift + E. Sur Chrome, vous pouvez ouvrir les outils de développement avec ctrl + shift + I, puis sélectionner l'onglet réseau.

Avec cet onglet ouvert, réessayez votre demande et recherchez le code retour 500 dans la sortie réseau. Parfois, vous pouvez voir une réponse du serveur légèrement plus détaillée décrivant le problème que vous avez rencontré. Vous pouvez donner ces informations aux développeurs pour accélérer la résolution du problème.

Si vous êtes le développeur, vous devez rechercher le bogue et le corriger! Ça pourrait être n'importe quoi, donc je ne peux pas vous dire comment faire ça. Mais si vous êtes nouveau dans le développement, je vous recommanderais d'abord de rechercher des indices dans les journaux du serveur si le problème n'est pas déjà évident.

Ne bouge pas

Après avoir signalé le problème, vous avez fait tout ce que vous pouvez raisonnablement faire.

* Vous vous demandez quel est le code d'erreur le plus frustrant à rencontrer dans la nature? 418: Je suis une théière. Si vous rencontrez cela comme une erreur réelle, cela signifie que le développeur s'est efforcé de l'implémenter en tant que réponse d'erreur, mais c'est une blague et ne vous donne pas d'informations. Ça arrive.

Si vous promettez de ne jamais renvoyer un 418 en réponse à une véritable erreur côté client, vous êtes invités à rester en contact avec moi sur Twitter @JacksonBates.