Saltar al contenido

Express js previene GET /favicon.ico

La guía paso a paso o código que verás en este post es la resolución más rápida y válida que hallamos a tu duda o dilema.

Solución:

Por defecto, los navegadores intentarán solicitar /favicon.ico desde la raíz de un nombre de host, para mostrar un icono en la pestaña del navegador.

Si desea evitar que esta solicitud devuelva un 404, puede:

  • Suministre un favicon.ico archivo que está disponible en la raíz de su sitio.
  • Use un módulo como serve-favicon para dirigir las solicitudes a un archivo específico.
  • Atrapa el favicon.ico solicitar y enviar un 204 No Content estado:

    app.get('/favicon.ico', (req, res) => res.status(204));

mi método preferido es el middleware

pon esto en alguna parte:

function ignoreFavicon(req, res, next) 
  if (req.originalUrl.includes('favicon.ico')) 
    res.status(204).end()
  
  next();

después:

app.use(ignoreFavicon);

Estoy de acuerdo con @Blair Anderson en que el middleware es el mejor curso de acción aquí, pero 204 no debe devolver un cuerpo. Además, es posible que desee atrapar todos solicitud de favicon, por ejemplo: https://example.com/some/path/favicon.ico. En cuyo caso, algo como esto funciona mejor:

app.use( function(req, res, next) 

  if (req.originalUrl && req.originalUrl.split("/").pop() === 'favicon.ico') 
    return res.sendStatus(204);
  

  return next();

);

Recuerda que puedes mostrar esta noticia si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *