501

Not Implemented

Officiellement,
actuellement non mis en œuvre

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

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

The HTTP error 501 Not Implemented occurs when a web server receives a request from a client that requests a function or feature that the server does not support or implement. The server recognises the request but cannot execute it because it does not have the necessary functions or resources. This can happen, for example, when a client uses an HTTP method that the server does not support, or when the server uses an older version of HTTP that does not support certain features available in a newer version.

A practical example of the HTTP error 501 Not Implemented would be when a web server receives a request for an HTTP method that it does not support, such as the PATCH method for updating part of a resource. If the server has not implemented this method, it will return a 501 Not Implemented error to tell the client that the request cannot be executed. Another example would be if a client sends a request for a specific version of HTTP that the server does not support, such as HTTP/2 when the server only supports HTTP/1.1. In this case, the server would return error 501 Not Implemented to tell the client that it cannot execute the request.

.

Spécification du code d'état HTTP 501

Le code d'état 501 Not Implemented indique que le serveur ne prend pas en charge la fonctionnalité requise pour répondre à la demande. Il s'agit de la réponse appropriée lorsque le serveur ne reconnaît pas la méthode de requête et n'est pas en mesure de la prendre en charge pour quelque ressource que ce soit. Une réponse 501 Not Implemented peut être mise en cache par défaut, c'est-à-dire sauf indication contraire dans la définition de la méthode ou dans les contrôles explicites de la mise en cache.

Source / Citation de : Le code d'état HTTP 501 Not Implemented est spécifié par la section 6.6.2 de RFC7231.

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

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

Teste le code d'état HTTP 501

Pour pouvoir afficher le code de statut HTTP (dans ce cas 501 Not Implemented) 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 501 Not Implemented
Aperçu
URL: https://http-statuscode.com/errorCodeExample.php?code=501
Statut: 501 Not Implemented
Ceux-ci: Network
Adresse IP: XX.XX.XX.XX
Code d'état 501 Not Implemented

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

Le code d'état HTTP 501 Not Implemented est renvoyé par le serveur pour indiquer que la méthode demandée n'est pas prise en charge ou n'est pas implémentée. Cela signifie que le serveur ne peut pas traiter la demande spécifique, car la fonctionnalité requise n'est pas disponible. Pour résoudre le problème du code d'état HTTP 501 Not Implemented, tu peux prendre plusieurs mesures:

  1. Vérifier la méthode HTTP utilisée : assure-toi que la méthode HTTP correcte est utilisée pour la requête. HTTP propose différentes méthodes telles que GET, POST, PUT, DELETE, etc. Il est possible que le code d'état 501 Not Implemented soit renvoyé parce que la méthode demandée n'est pas prise en charge par le serveur. Vérifie les spécifications de l'API du serveur ou la documentation pour t'assurer que tu utilises la bonne méthode.
  2. Vérifie la configuration du serveur : le serveur peut renvoyer le code d'état 501 Not Implemented si certaines fonctions ou modules ne sont pas activés ou correctement configurés. Assure-toi que tous les modules et fonctions nécessaires sont activés sur le serveur pour traiter correctement la requête. Vérifie les fichiers de configuration du serveur, comme le fichier de configuration Apache (httpd.conf) ou le fichier de configuration Nginx (nginx.conf), pour t'assurer que tout est correctement configuré.
  3. Mets à jour le logiciel du serveur : parfois, le code d'état 501 Not Implemented peut apparaître si le logiciel du serveur utilisé est obsolète et ne prend pas en charge les fonctionnalités demandées. Assure-toi que tu utilises la dernière version du logiciel serveur et que toutes les mises à jour disponibles sont installées. Cela peut corriger des problèmes connus et ajouter de nouvelles fonctionnalités qui n'étaient pas implémentées auparavant.
  4. Consulte la documentation du serveur : vérifie la documentation officielle du serveur ou du framework que tu utilises pour obtenir des informations sur le code d'état 501 Not Implemented. La documentation peut contenir des instructions ou des conseils spécifiques sur la manière de résoudre le problème. Cherche les sections de dépannage, les problèmes connus ou les paramètres de configuration spécifiques à vérifier.

Il est important de noter que la résolution du problème du code d'état HTTP 501 Not Implemented dépend fortement de la configuration spécifique du serveur, du logiciel utilisé et du type de requête. Les étapes ci-dessus fournissent toutefois un guide général pour aborder le problème et trouver des solutions possibles.

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

Créer sa propre page d'erreur 501 Not Implemented 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 501 Not Implemented dans "Apache", il faut effectuer la modification suivante dans le fichier suivant.

File: .htaccess
ErrorDocument 501 /errors/501.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 501 Not Implemented dans "NGINX", il faut effectuer la modification suivante dans le fichier suivant.

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

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

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.NotImplemented
http.StatusNotImplemented
Response::HTTP_NOT_IMPLEMENTED
httplib.NOT_IMPLEMENTED
http.client.NOT_IMPLEMENTED
http.HTTPStatus.NOT_IMPLEMENTED
:not_implemented
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