Aunque el uso de imágenes, vídeos y GIFs no era algo habitual en los primeros tiempos de la web, ahora esperamos que un sitio ofrezca imágenes atractivas además de texto informativo. Tampoco es de extrañar que cuando la comunicación entre el navegador y el servidor falla por un error multimedia, aparezca un error. En este caso, el error «HTTP 415».

Teniendo en cuenta que el contenido multimedia es casi un requisito previo de la web moderna, ver un error relacionado con él significa que necesitarás una solución, rápidamente. Sin embargo, a diferencia de otras correcciones de errores – sobre todo para los sitios web de WordPress – este problema es un hueso duro de roer. Puede que necesites algunos conocimientos de programación para resolverlo, pero esto ya lo verás más adelante.

Consulta Nuestro Videotutorial para Solucionar el Error 415

En este artículo, vamos a analizar el error «HTTP 415» y hablaremos de sus causas. A partir de ahí, hablaremos de cómo solucionarlo.

Qué es el Error HTTP 415

El error «HTTP 415» es uno de los muchos códigos de estado 4XX. Si entiendes que está asociado con errores como el 404, empezarás a entender lo que está pasando.

En resumen, los errores 4XX tienen que ver con que falta algo que el cliente o el servidor necesitan. El nombre completo del error  –  «415 Tipo de Medio No Soportado» – nos da una pista. El servidor está recibiendo un tipo de archivo multimedia que no reconoce o no puede aceptar.

En la mayoría de las circunstancias, verás el error «HTTP 415» cuando utilices una interfaz de programación de aplicaciones (API). Es un problema del lado del servidor y, a continuación, hablaremos de por qué ocurre esto en primer lugar.

Por Qué se Produce el error HTTP 415

Independientemente de cómo lo llames– el error «HTTP 415», el error «415 Unsupported Media Type»– significa que el servidor se niega a aceptar una petición del navegador. A menudo esto se debe a que lo que el navegador envía (payload) no está en el formato correcto.

Es un problema similar al error «Entidad no procesable 422«, ya que ambos tienen que ver con los datos incorrectos que llegan al servidor, y este último pierde el control. También conviene señalar que existe una distinción entre los datos que envía el navegador y los que recibe el servidor. Pueden parecer lo mismo, pero hay una diferencia.

Por ejemplo, una estrategia general de detección de errores impedirá que un usuario tome un tipo de archivo no reconocido y lo suba a través de una interfaz que sólo acepta PNGs. Sin embargo, si no se especifican los tipos exactos de medios que puede procesar un servidor, se produciría un error en el back-end. En el front end, un usuario podría no ver nada en absoluto. Los usuarios de WordPress reciben una notificación en la pantalla del administrador:

La pantalla de Carga de Nuevos Medios de WordPress, mostrando el diálogo del uploader con un botón de Selección de Archivos, información sobre el tamaño máximo del archivo, y un error de administración que muestra un error de 'tipo de archivo no permitido', y detalles del archivo.
El error de tipo de archivo no permitido en WordPress.

La buena noticia es que WordPress tiene una infraestructura permisiva – por ejemplo, piensa en los diferentes tipos de archivos que puedes subir a la Biblioteca Multimedia.

No obstante, se trata de un problema de los desarrolladores y no de un error del usuario. Por eso, a continuación analizaremos las posibles soluciones.

Cómo Solucionar el Error HTTP 415

Recapitulando, el error «HTTP 415» te indica que el servidor no acepta un tipo de archivo porque no admite ese Payload. Esto significa que hay un problema dentro del código PHP subyacente que necesita una solución.

En este punto, si no eres el desarrollador del sitio o del tema, y no tienes conocimientos de programación, es probable que quieras ponerte en contacto con alguien con experiencia. Hurgar en los archivos de tu tema podría causar un problema.

Sin embargo, la documentación de Mozilla sobre el error te da dos pistas para comenzar tu búsqueda: dos «cabeceras de representación»: Content-Type, y Content-Encoding.

Cómo Funcionan las Cabeceras Content-Type y Content-Encoding

La cabecera Content-Type proporciona la solicitud del cliente con el recurso antes de que se produzca cualquier codificación. Indica el tipo de medio original del recurso. Por ejemplo:


Content-Type: text/html; charset=UTF-8

Content-Type: image/jpeg;

Por el contrario, Content-Encoding es una lista de todas las codificaciones que tiene el payload (es decir, tu medio), que es un indicador de cómo debe descodificarse el archivo para obtener el payload original.


Content-Encoding: gzip

Content-Encoding: br

Como puedes ver, la compresión de archivos es una forma habitual de codificar los datos. Esto no es un problema en teoría, pero lo será si no codificas esto en los archivos relevantes de tu tema o plugin.

Cómo Solucionar el Código de Error HTTP 415

Teniendo en cuenta lo anterior, tienes tres vías a explorar si descubres un error HTTP 415 – todas relacionadas con tu código PHP:

  • Deberás asegurarte de que envías el valor correcto de la cabecera Content-Type.
  • También tendrás que asegurarte de que el servidor puede procesar lo que especifiques para la cabecera Content-Type.
  • Comprueba qué puede procesar el servidor a través de la cabecera Accept.

No necesariamente lo harás dentro de los archivos del core, aunque sí puedes hacerlo como parte de una solicitud de la API REST. Por ejemplo, un usuario de Stack Overflow tuvo este mismo problema al utilizar PHP puro sobre cURL para hacer una solicitud de API.

Hay dos lugares donde buscar. Primero, especifica los tipos de archivo correctos dentro de la cabecera Content-Type:


$headers = array (

    ‘Content-Type’ => ‘application/json’,

   …

En segundo lugar, este usuario tuvo un error al declarar una clave de cabecera no válida utilizando la función wp_remote_post():


$arg = array (

    'header' => $headers,

    …

Como a la «cabecera» le falta una «s», lanzaría el error «HTTP 415». Sin embargo, también querrás asegurarte de que el cliente puede aceptar los tipos de archivo correctos. Esto lo harás mediante otra cabecera: Accept. Por ejemplo:


Accept: text/html

Accept: image/*

Esto asegura que ambos extremos de la cadena – el cliente y el servidor – puedan aceptar y enviar los tipos de archivo correctos, poniendo fin al error «HTTP 415» para siempre.

Resumen

Los errores del sitio web suelen ser fáciles de solucionar. Ya los hemos solucionado varias veces en el blog de Kinsta,, y la esencia de la plataforma hace que puedas estar listo para el rock and roll en poco tiempo. Sin embargo, el «HTTP 415″ es diferente, ya que es difícil de solucionar si no eres un desarrollador.

La solución es trabajar con los valores de la cabecera Content-Type para asegurarte de enviar el correcto al servidor. También puede haber un simple error tipográfico. Esto es como un momento » ouch «, pero en este caso, pueden ser difíciles de detectar, especialmente si estás preocupado por los tipos de contenido que envías al servidor.

Mientras que el error «HTTP 415» lo puedes solucionar tú, para otros problemas con tu sitio web, Kinsta está de guardia. Tenemos a nuestro equipo de soporte preparado para ayudarte a entender tu sitio en los raros casos en los que no se carga.