Tengo un sitio web que no tiene / necesita un favicon.
¿Hay alguna manera de indicarle al navegador que no desperdicie una solicitud buscando /favicon.ico?
No me refiero a filtrar registros, sino a algo del lado del cliente, como este:
<link rel="shortcut icon" href="about:blank" />
Parece que funciona, pero no estoy en condiciones de hacer pruebas exhaustivas (y los motores de búsqueda no ayudan).
¿Alguien puede confirmar si este es un método válido o proporcionar una alternativa adecuada?
Actualización: en una investigación adicional, eso no funciona (al menos no con Chromium 18 en un dominio no local). Una solución parcial es usar una data:
URL para servir una imagen en blanco base64 ( ejemplo de aquí ):
<link href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAF0lEQVRIx2NgGAWjYBSMglEwCkbBSAcACBAAAeaR9cIAAAAASUVORK5CYII=" rel="icon" type="image/x-icon" />
Esto está funcionando, pero tiene dos desventajas:
- Presumiblemente fallará en los navegadores que no admiten URL de datos.
- No produce ningún favicon, es decir, oculta el icono predeterminado del navegador.
<link href="data:image/x-icon;" rel="shortcut icon" />
es una solución válida, parece que podría estar funcionando (muestra el valor predeterminado del navegador), pero necesito probar cómo responden IE7 / otros.Respuestas:
Bueno, solo fui e hice algunas pruebas con un montón de navegadores aleatorios que instalé, Wireshark y una página web simple que contiene la etiqueta
Aquí están los resultados hasta ahora:
Chromium 18.0 en Ubuntu Linux: funciona. No hay solicitudes
/favicon.ico
, no se muestra ningún favicon.Google Chrome 21.0 en Windows XP: Funciona.
Firefox 15.0.1 en Ubuntu Linux: comportamiento inconsistente. Aparentemente, Firefox no muestra favicon y no realiza una solicitud HTTP
/favicon.ico
en la primera carga de la página. Sin embargo, cuando la página se visita por segunda vez,/favicon.ico
se carga y se muestra.Firefox 15.0 en Windows XP: comportamiento inconsistente, igual que el anterior.
Opera 10.10 en Ubuntu Linux: no funciona. Solicita
/favicon.ico
pero no lo muestra.Konqueror 4.8.4 en Ubuntu Linux: funciona.
rekonq 0.9.1 en Ubuntu Linux: roto. Intenta solicitarlo
/about:blank
al servidor.Internet Explorer 8.0 en Windows XP: inconsistente (?). Parecía estar funcionando al principio, pero
/favicon.ico
fue solicitado en algún momento, muy probablemente después de que visité otra página y usé el botón Atrás. Las pruebas fueron algo complicadas por el hecho de que, por alguna razón, IE se niega a procesar mis favicons de prueba. Necesita más pruebas.Otras notas:
Los navegadores tienden a almacenar en caché los favicons de forma bastante agresiva. Los métodos normales para borrar el caché del navegador no siempre parecen funcionar; Tuve que ejecutar los navegadores con nuevos perfiles de espacio aislado para obtener resultados repetibles de manera consistente. En particular, reconq al menos volverá a mostrar el favicon (no predeterminado) de otra página en el mismo sitio si tiene uno en caché.
fuente