501 Not Implemented

Le serveur ne prend pas en charge cette fonctionnalité.

Quand l’utiliser

Une méthode HTTP que le serveur ne reconnaît pas du tout.

Causes courantes et solutions

501 signifie que le serveur ne reconnaît pas ou ne prend pas du tout en charge la méthode de la requête, quelle que soit l’URL : une méthode WebDAV comme PROPFIND envoyée à un serveur sans WebDAV, ou un PATCH envoyé à un vieux serveur. À distinguer du 405, où la méthode existe mais n’est pas autorisée sur cette URL. Certaines API renvoient aussi 501 pour des points de terminaison documentés mais pas encore développés.

Les proxys et les CDN peuvent le générer : certains rejettent les méthodes inhabituelles, et un serveur doit répondre 501 à un Transfer-Encoding qu’il ne prend pas en charge. S’il apparaît de façon inattendue, envoyez la même méthode directement à l’origine avec curl -X pour voir quelle couche la refuse. Un 501 peut être mis en cache par défaut : ajoutez Cache-Control: no-store si le point de terminaison doit bientôt fonctionner.

Erreur serveur (5xx)

Les codes 5xx sont des erreurs serveur : la requête est peut-être correcte, mais le serveur ou un composant derrière lui a échoué. Ils méritent une alerte.

À quoi ça ressemble

HTTP/1.1 501 Not Implemented

Comment l’envoyer

Node.js / Expressres.status(501).end()
Python / Flaskreturn '', 501
nginxreturn 501;

Comment le vérifier

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Ouvrir l’outil Codes de statut HTTP