Qué es el Error 405 Method Not Allowed

http error 405​
5
(8)

Imagina que estás navegando por tu web favorita, emocionado por descubrir contenido nuevo o completar una compra, y de repente te encuentras con un mensaje: Error 405: Method Not Allowed.

Este mensaje puede fastidiarte la visita a esa web y dejarte con muchas preguntas. ¿Qué significa el error 405? ¿Por qué aparece y cómo puedes solucionarlo? 🤔

En este post veremos qué hay detrás de este misterio del error 405, descubriremos sus causas, cómo aparece en diferentes navegadores y, lo más importante, cómo solucionarlo para que tu web funcione sin problemas.

¡No perdamos más tiempo y vamos a ello! 🤗

¿Qué es un error HTTP 405?

Te voy a poner de ejemplo el caso de uno de nuestros clientes. Marta administra una tienda online de camisetas y tiene contratado un hosting que gestiona todo el tráfico de su sitio web. Un día, decide añadir una nueva sección para que los clientes envíen sus opiniones sobre las camisetas. Marta crea un formulario para esto y, aunque piensa que ha quedado todo configurado correctamente, algunos usuarios comienzan a escribirle porque al intentar enviar sus reseñas, reciben el mensaje: “Error 405: Method Not Allowed”.

Bastante intrigada, Marta se lo comenta a Iván, uno de nuestros técnicos de soporte. Él le explica que cada acción en una página web, como enviar datos o hacer clic en un enlace, requiere un método HTTP específico para funcionar bien (lo veremos más adelante en detalle). En el caso del formulario de reseñas, debía utilizar el método POST para que el servidor reciba y procese la información. No obstante, sin darse cuenta, Marta había configurado el formulario con el método GET, que solo está pensado para recuperar datos, no para enviarlos. El servidor de Marta no acepta GET en esa ruta y, por eso, estaba bloqueando la solicitud y mostrando el error.

Para arreglarlo, Marta cambia el método de GET a POST en su formulario. Ahora, cuando los clientes envían sus reseñas, el servidor las acepta sin problema ¡y su sección de opiniones comienza a llenarse! 🤗 Así, Marta descubre que el error 405 “Method Not Allowed” es la manera en que el servidor le dice a un usuario que la acción que está intentando llevar a cabo, aunque sea válida, no está permitida para ese recurso específico.

Ahora que ya lo sabe, Marta suele acordarse de comprobar siempre que el método HTTP que configura sea el adecuado para cada acción de su tienda.

¡En resumen!

El error HTTP 405, también conocido como 405 Method Not Allowed, ocurre cuando el servidor recibe una solicitud HTTP con un método que no está autorizado para el recurso específico al que se intenta acceder. Es decir, aunque la URL y el recurso existen, el método de solicitud (como GET, POST, PUT, DELETE, etc., que veremos más en detalle) no está habilitado o permitido para ese recurso en particular.

error http 405​

¿Qué son los métodos HTTP? ¿Y cuáles hay?

Para que entiendas mejor cómo funciona el error 405 que te acabo de explicar, es necesario que conozcas lo que son los métodos HTTP.

¡Mira!

Los métodos HTTP son acciones que se utilizan para interactuar con los recursos en un servidor web. Forman parte del protocolo HTTP (también conocido como Hypertext Transfer Protocol), que es fundamental para la comunicación en la página web. Cada método tiene un objetivo específico y se utiliza según la acción que se desea llevar a cabo con un recurso.

Aquí te enseño los métodos HTTP más comunes:

  1. GET: Este método se emplea para solicitar información de un recurso determinado. Cuando un usuario visita una página web, normalmente se envía una solicitud GET. Este método no debe alterar el estado del recurso en el servidor.
  2. POST: Se emplea para modificar un recurso que ya existe en el servidor. A diferencia de GET, POST puede modificar el estado del recurso o crear nuevos recursos en el servidor.
  3. PUT: Se usa para modificar un recurso que ya está presente en el servidor. A menudo se utiliza en conjunto con API para reemplazar por completo un recurso.
  4. PATCH: Al igual que PUT, este método se utiliza para realizar actualizaciones, pero en lugar de sustituir el recurso completo, PATCH permite efectuar modificaciones parciales en un recurso.
  5. DELETE: Este método se emplea para borrar un recurso específico en el servidor. Al enviar una solicitud DELETE, se espera que el recurso sea eliminado.
  6. HEAD: Funciona de manera similar a GET, pero solo solicita los encabezados de la respuesta sin incluir el cuerpo del mensaje. Es útil para obtener información sobre el recurso sin necesidad de descargarlo entero.
  7. OPTIONS: Se utiliza para detallar las opciones de comunicación disponibles para el recurso objetivo, es decir, para identificar qué métodos HTTP están permitidos para un recurso determinado.
  8. CONNECT: Este método se usa para establecer un túnel a través de un proxy HTTP. Se suele usar para establecer conexiones HTTPS.
  9. TRACE: Permite al cliente ver lo que se está recibiendo en el servidor y puede ser útil para hacer diagnósticos.

En resumidas cuentas, los métodos HTTP son fundamentales para la comunicación entre clientes (por ejemplo, navegadores) y servidores web. Permiten a los usuarios realizar acciones como recuperar información, enviar datos o modificar recursos.

El error 405 en distintos navegadores

No importa qué tipo de navegador utilices en tu día a día, pero es importante que sepas que, dependiendo de ello, el error HTTP 405 “Method Not Allowed” puede mostrarse de diferentes maneras. Aunque el código de estado es el mismo, la forma en que se presenta al usuario puede variar.

Aquí te explico cómo se ve este error en algunos de los navegadores más populares.

Google Chrome

En Google Chrome, el error 405 aparece en una página de error que muestra el mensaje «405. That’s an error.» acompañado de una breve explicación del problema. También incluye un enlace para volver a la página anterior.

Mozilla Firefox

El navegador de Firefox muestra un mensaje claro que indica «405 Method Not Allowed», acompañado de una breve explicación que señala que el método HTTP utilizado no está permitido para el recurso solicitado. Al igual que en Chrome, también ofrece la opción de volver a la página anterior.

Microsoft Edge

En Microsoft Edge, el error se muestra de forma similar a Chrome, con el mensaje «405 – Method Not Allowed». La página también cuenta con un botón para regresar a la página anterior.

Safari

El navegador de Safari muestra el error 405 con un mensaje sencillo que indica «Method Not Allowed». Generalmente, la página de error ofrece menos información que en otros navegadores y solo da un mensaje básico sin opciones adicionales para navegar.

Opera

Opera también muestra un mensaje similar al de Chrome y Firefox, señalando que el «Método no permitido» es la causa del error. En la interfaz también se permite al usuario volver a la página anterior.

En nuestro caso, al utilizar LiteSpeed como servidor web, el mensaje de error 405 «Method Not Allowed» aparece de la misma manera en todos los navegadores, como puedes ver en la captura que te enseño a continuación:

error 405 not allowed

Causas más comunes del error 405

Si tu web muestra un error 405 Method Not Allowed, lo primero que debes entender es la causa de este código de estado.

El error HTTP 405, como te explicaba antes en detalle, suele ocurrir cuando un método HTTP (como GET, POST, PUT, DELETE) no es compatible con la ruta solicitada. A continuación, te muestro los casos más comunes que encontramos en nuestro departamento de soporte.

  1. Uso incorrecto del método HTTP en formularios o solicitudes: Este error es común al enviar formularios en una página web, como el ejemplo de la cliente que te contaba al principio del post.
  2. Restricciones del servidor o del firewall: Algunos servidores web aplican configuraciones estrictas que limitan los métodos HTTP permitidos para ciertos recursos. Por ejemplo, un firewall podría bloquear métodos como DELETE o PUT por razones de seguridad, causando un error si el navegador intenta usarlos.
  3. Configuración incorrecta en el archivo del servidor: En servidores como Apache o NGINX, los archivos de configuración como .htaccess o nginx.conf pueden limitar los métodos HTTP en ciertas rutas. Si se envía una solicitud con un método no autorizado en esta configuración, se produce el error 405.
  4. Actualizaciones de software o fallos en plugins y frameworks: En ocasiones, al actualizar software (como un gestor de contenidos, un plugin o una biblioteca), se pueden agregar restricciones sobre los métodos HTTP permitidos, lo que provoca este error si alguna ruta intenta usar un método que ya no está autorizado.
  5. Errores en la API o configuraciones de APIs RESTful: Al trabajar con APIs RESTful, un error 405 Method Not Allowed puede aparecer si se accede a un recurso con el método equivocado. Por ejemplo, si una API permite únicamente el método GET en una ruta específica, intentarlo con POST en lugar de GET puede generar este error.

Ahora que sabes un poco más sobre el error 405, es hora de ponerle punto y final. Te cuento cómo hacerlo 🤗

Cómo solucionar el error 405

En esta sección, quiero darte las soluciones para el error 405 Method Not Allowed que puedes aplicar para recuperar el acceso a las páginas web que deseas visitar.

¡Vamos a ello! 😊

1. Comprueba la URL

Asegúrate de que la URL a la que intentas acceder sea la correcta. En ocasiones, un error tipográfico puede dirigir a un recurso que no admite el método HTTP que estás utilizando.

2. Verifica el método HTTP

Comprueba de que estés usando el método HTTP correcto (GET, POST, PUT, DELETE, etc.) para tu solicitud. Por ejemplo, si estás intentando enviar información a un formulario, confirma que el método POST esté activo.

3. Revisa la documentación de la API

Si estás utilizando una API, consulta su documentación para verificar qué métodos son compatibles con el recurso al que deseas acceder. Asegúrate de que el método que estás utilizando esté autorizado.

4. Comprueba la configuración del servidor web

Si tienes acceso al servidor, revisa su configuración:

  • LiteSpeed: Revisa y modifica las reglas en los módulos de seguridad para habilitar el método específico que necesitas.
  • Apache: Examina el archivo .htaccess para asegurarte de que no existan reglas que limiten el método HTTP.
  • Nginx: Verifica que la configuración del servidor permita los métodos que estás tratando de utilizar.

5. Revisa los permisos de archivos

Asegúrate de que los permisos de los archivos y carpetas en el servidor estén establecidos adecuadamente. Confirma que el servidor cuente con los permisos necesarios para ejecutar el método que deseas utilizar.

6. Depura el código del lado del servidor

Si estás creando una aplicación web, examina el código del servidor para confirmar que las rutas y métodos estén implementados de manera correcta. Asegúrate de que no existan errores en la lógica que puedan llevar a la utilización del método incorrecto.

7. Usa las herramientas para desarrolladores del navegador

Aprovecha las herramientas para desarrolladores disponibles en tu navegador (como la consola de Chrome) para analizar la solicitud HTTP y ver qué método se está utilizando. Te va a ser útil para identificar problemas.

8. Contacta con soporte técnico

Si, después de probar las soluciones anteriores, el problema persiste, ponte en contacto con el soporte técnico de tu proveedor de hosting. Ellos podrán darte una respuesta específica para tu caso.

9. Prueba con diferentes navegadores

Y si has llegado hasta aquí y has intentado todas las soluciones posibles… todavía tienes la última bala para resolver el error 405 Method Not Allowed.

A veces, el error 405 puede estar relacionado con un navegador específico. Intenta acceder a la URL desde diferentes navegadores o dispositivos para comprobar si el problema continúa. Esta es una buena forma de identificar si el problema es del lado del cliente o del servidor.

¿Has conseguido solucionar tu error 405?

¡Espero que este post te haya sido útil! En realidad, el error 405 Method Not Allowed es solo un indicativo de que algo no está funcionando correctamente. Si entiendes las posibles causas que hay detrás de este error y te tomas el tiempo para analizarlo, deberías dar con la clave para poder solucionarlo sin problema.

Si alguna vez te has encontrado con el error 405 Method Not Allowed y le has puesto remedio de otra forma que no he mencionado en el post (o si te ha quedado alguna pregunta en el tintero), no dudes en dejarla en los comentarios. Estaré encantada de ayudarte 🤗

¡Puntúa este artículo!

Total votos: 8. Promedio: 5

carol.ramos

Amante del mundo de las tecnologías y de todo lo relacionado con páginas web y marketing online. Dedico parte de mi tiempo a escribir en este blog con el objetivo de ayudarte a lanzar tu negocio online. ¡Emprendamos juntos este viaje!

No hay comentarios

Escribe un comentario