Erreur « 405 Method Not Allowed » : comment la résoudre ?

Les serveurs Web informent les clients comme les navigateurs Internet de l’état de traitement de la demande à l’aide de codes d’état HTTP. Il existe divers codes pour confirmer le succès ou l’échec d’une requête, y compris des messages très spécifiques. Bien que certaines de ces notifications se produisent relativement fréquemment lorsque l’on navigue sur le Web, l’erreur 405 (méthode non autorisée) est l’une des erreurs signalées les plus rares. Dans cet article, vous découvrirez ce qui provoque ce message d’erreur et pourquoi la solution du problème est l’affaire de l’exploitant du site Web.

Nom de domaine
Votre domaine en un clic
  • Domaine .eu ou .fr + éditeur de site gratuit pendant 6 mois
  • 1 certificat SSL Wildcard par contrat
  • Boîte email de 2 Go

Que signifie l’erreur HTTP 405 ?

Le protocole HTTP (Hypertext Transfer Protocol) définit ses méthodes (méthodes de requête) qui indiquent les actions possibles qui peuvent être effectuées sur le serveur Web contacté. Il s’agit par exemple des méthodes suivantes :

  • GET : récupérer les informations associées à une ressource URL particulière
  • HEAD : récupérer les informations de l’en-tête associées à une ressource URL
  • POST : envoyer des données au serveur Web, par exemple, des données de formulaire
  • PUT : remplacer les données d'une URL spécifique par de nouvelles données transmises par le client.
  • DELETE : supprimer les données de l’URL correspondante

L’administrateur peut configurer chaque serveur Web pour autoriser ou interdire les méthodes individuelles. Par exemple, s’il n’y a pas de contenu interactif sur le site Web, il est logique que la méthode POST ne soit pas autorisée, puisque l’utilisateur n’a de toute façon aucun moyen d’entrer ses propres données et de les envoyer au serveur Web. Cependant, si la page comporte un formulaire de saisie utilisateur, le serveur doit autoriser la méthode POST. Sinon, le message d’erreur ci-dessus avec le code d’état 405 risque donc de s’afficher, informant le navigateur et son utilisateur que la méthode utilisée n’est pas autorisée (en anglais Method not Allowed).

Le libellé exact du message HTTP 405 varie d’un serveur à l’autre. Les formulations les plus courantes sont les suivantes :

  • 405 Method Not Allowed
  • 405 Not Allowed
  • Method Not Allowed
  • HTTP 405 Error
  • HTTP Error 405 – Method Not Allowed
  • HTTP 405 Method Not Allowed
  • Error: 405 Method Not Allowed
  • 405 – HTTP verb used to access this page is not allowed
  • HTTP Status 405 – HTTP method GET is not supported by this URL

Quand l’erreur 405 se produit-elle ?

Nous avons déjà indiqué que l’erreur 405 est exclusivement due à un problème côté serveur. Cependant, comme le code d’état 405 est techniquement l’un des messages d’erreur du client (codes avec le modèle 4xx) cela ne semble pas avoir de sens à première vue. Cependant, la contradiction est rapidement résolue : si, en tant qu’utilisateur du navigateur, vous transmettez une requête au serveur Web en utilisant une méthode HTTP que le serveur Web n’autorise pas en raison de sa configuration, l’erreur du point de vue du serveur est du côté du client qui, dans ce cas, a simplement fait une requête incorrecte. Lors du traitement de la requête, le serveur ne sait pas que vous voulez uniquement répondre à l’offre du site Web comme, par exemple, remplir un formulaire de contact.

Trois scénarios en particulier peuvent conduire au message d’erreur « Method Not Allowed » :

  1. L’interdiction de la méthode HTTP correspondante est due à une mauvaise configuration du serveur Web ou des composants logiciels qui doivent exécuter l’action correspondante pour obtenir la ressource URL désirée.
  2. L’interdiction de la méthode HTTP est prévue par le Webmaster, et dans la plupart des cas pour des raisons de sécurité. L’erreur réside dans une ressource URL du projet Web en question qui nécessite la méthode non autorisée en raison de sa programmation.
  3. La méthode HTTP n’est pas autorisée par le fournisseur d‘hébergement de l’opérateur du site Web. Ceci peut se produire en particulier avec la méthode POST, qui est nécessaire pour la saisie des données et qui est bloquée pour des raisons de sécurité chez certains fournisseurs lors de l’accès aux documents HTML.

Erreur HTTP 405 : comment résoudre le problème ?

Si vous tombez sur un site Internet qui affiche le message 405 Not Allowed, vous pouvez difficilement résoudre le problème vous-même. Bien que des astuces telles que le rafraîchissement de la page, le redémarrage du routeur ou la vérification des paramètres de proxy peuvent généralement corriger l’erreur pour d’autres messages HTTP, de telles mesures n’ont aucun effet avec l’erreur 405. Dans tous les cas, il est judicieux et pertinent de contacter le Webmaster ou le gestionnaire du site Internet responsable pour attirer leur attention sur le problème ou pour obtenir de plus amples informations sur les causes.

Cependant, si vous êtes responsable d’un site Internet qui affiche le code HTTP 405 aux internautes, la situation est bien sûr complètement différente : selon la cause du message d’erreur, vous disposez alors de diverses options pour résoudre le problème. Afin de ne pas gêner vos utilisateurs et d’éviter des pénalités de la part des moteurs de recherche, vous devez corriger l’erreur le plus tôt possible.

Solution 1 : activer la méthode HTTP

Si vous n’êtes pas sûr de la cause du message « 405 Method Not Allowed », vous devriez toujours regarder d’abord les paramètres des composants logiciels qui gèrent la réponse des requêtes HTTP. Typiquement, c’est le serveur Web, mais aussi un proxy en amont ou un HTTP Handler (dans les applications Web ASP.NET) qui peut être responsable du problème si la méthode n’est tout simplement pas validée. Comme les différentes applications divergent en termes de configuration, vous devez d’abord découvrir comment fonctionne l’activation ou la désactivation des méthodes HTTP pour le logiciel correspondant.

Pour les serveurs Web apache, par exemple, vous pouvez utiliser le module mod allowmethods pour déterminer les méthodes autorisées. Ceci peut être contrôlé par la directive AllowMethods dans les conteneurs <Location>, qui sont nécessaires pour définir les paramètres d’une ou de plusieurs URL souhaitées. Une configuration permettant l’accès à la ressource et la saisie des données côté client peut être mise en œuvre via l’entrée suivante :

<Location "/">
    AllowMethods GET POST OPTIONS
</Location>
Note

pour les anciennes versions d’Apache, les méthodes HTTP autorisées ont été définies en utilisant les directives <Limit> et <LimitExcept>.

Solution 2 : nettoyer le code source

Si vous avez délibérément bloqué une méthode HTTP, par exemple pour assurer la sécurité du site Web (pratique courante avec la méthode PUT), mais le client a quand même démarré une telle requête pour récupérer les ressources URL, ceci est souvent dû à une programmation incorrecte du site Web. La page ou l'élément que l’on souhaite ouvrir est donc incorrectement lié à la méthode, c'est pourquoi l'erreur 405 en est la conséquence logique. La solution est de trouver le code problématique dans le document HTML en question, et de remplacer la méthode saisie précédemment par la méthode de requête correcte. Une fois que la configuration du serveur et le code source ont été ajustés, il est fort probable que l'erreur HTTP 405 disparaisse aussi de la fenêtre du navigateur de vos internautes.

Solution 3 : contourner le verrou de sécurité du fournisseur d’accès

Comme nous l’avons déjà mentionné, l’erreur 405 peut aussi avoir comme cause le fait que les méthodes HTTP correspondantes pour certains types MIME, comme par exemple un document HTML, ont été désactivées par le fournisseur d’hébergement pour des raisons de sécurité. Dans ce cas, vous pouvez bien sûr contacter votre fournisseur et demander son autorisation, mais si ce n’est pas possible, il existe de toute façon des astuces pour utiliser la méthode pour votre projet Web.

Ceci vous permet de livrer le site Web avec un type MIME différent pour lequel la méthode désirée est disponible pour contourner le verrouillage. Par exemple, POST est principalement désactivé pour les pages HTML, alors que la méthode fonctionne dans les documents PHP. Donc si vous changez l’extension et donc aussi le type du document Web index.html en index.php, vous avez de bonnes chances de résoudre le problème « 405 Method Not Allowed ».

Une deuxième astuce consiste à implémenter la page Web qui provoque l'erreur HTTP lorsque le contenu de la page d'erreur 405 s’affiche. Pour cela, il suffit d'enregistrer la page concernée dans un répertoire séparé et de la définir comme message d'erreur officiel 405 dans le fichier de configuration :

ErrorDocument 405 /cheminversfichier/example.html

Cependant, la solution présente l’inconvénient que toutes les pages vues avec succès pour cette page sont comptées comme des erreurs, ce qui rend les évaluations statistiques bien plus difficiles.

Cet article vous a-t-il été utile ?
Page top