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 ImplementedComment l’envoyer
| Node.js / Express | res.status(501).end() |
|---|---|
| Python / Flask | return '', 501 |
| nginx | return 501; |
Comment le vérifier
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/