607 votos

Cómo prevenir favicon.oic pide?

No tengo un favicon.ico, pero decir, siempre hace una solicitud para ello.

Es posible prevenir el navegador para hacer una solicitud para el favicon de mi sitio? Tal vez algunos META-ETIQUETA en el encabezado HTML?

634voto

Diego Perini Puntos 951

Primero voy a decir que tener un favicon de una página Web es una buena cosa (normalmente).

Sin embargo, no siempre deseada y a veces los desarrolladores necesitan una manera de evitar la capacidad de carga adicional. Por ejemplo un IFRAME podría solicitar un favicon sin mostrarla. Peor aún, en Chrome y Android un IFRAME generará 3 solicitudes de favicons:

"GET /favicon.ico HTTP/1.1" 404 183
"GET /apple-touch-icon-precomposed.png HTTP/1.1" 404 197
"GET /apple-touch-icon.png HTTP/1.1" 404 189

Los siguientes usos de los datos de URI y se puede utilizar para evitar falsos favicon solicitudes:

<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> 

Para referencias ver aquí:

El Cromo error/es probable que el comportamiento se fija en las próximas versiones.

Aquí está el error de presentación para votar:

ACTUALIZACIÓN 1:

De los comentarios (jpic), parece que Firefox >= 25 no le gusta la sintaxis anterior más. He probado en Firefox 27 y no de trabajo, mientras que el trabajo sigue en Webkit/Chrome.

Así que aquí está la nueva que debe cubrir todos los navegadores recientes. He probado Safari, Chrome y Firefox:

<link rel="icon" href="data:;base64,=">

Me fui de la de "acceso directo" nombre de la "rel" valor de atributo ya que es sólo para mayores de IE y de las versiones de IE < 8 no le gusta dataURIs. No se ha probado en IE8.

ACTUALIZACIÓN 2:

Si usted necesita que su documento para validar con HTLM5 el uso de este lugar:

<link rel="icon" href="data:;base64,iVBORw0KGgo=">

51voto

Matthew Puntos 384

Creo que lo he visto (yo no lo he probado o usado personalmente):

<link rel="shortcut icon" href="#" />

Alguien tuvo una experiencia similar?

EDICIÓN:

Acabo de probar el código anterior y en un forzado actualización completa, no favicon solicitudes fueron vistos en el Fiddler. He probado en contra de IE8 (Compat modo como IE7 normas) y FF 3.6.

37voto

Ionuț G. Stan Puntos 62482

No se puede. Todo lo que puedes hacer es hacer que la imagen tan pequeña como sea posible y establecer algunas de invalidación de caché de las cabeceras (Expires, Cache-Control) en el futuro lejano. He aquí lo que Yahoo! tiene que decir acerca de favicon.ico solicitudes.

5voto

Anon1 Puntos 21

Usted puede utilizar .htaccess o servidor de directivas para denegar el acceso a la favicon.ico, pero el servidor enviará un acceso denegado respuesta para el navegador y este todavía se ralentiza el acceso a la página.

Usted puede detener el navegador que solicita favicon.ico cuando el usuario regresa a su sitio, por conseguir que se quedase en la memoria caché del navegador.

En primer lugar, proporcionar un pequeño icono propio.ico de la imagen, podría estar en blanco, pero tan pequeño como sea posible. Hice un negro y un blanco de menos de 200 bytes. Luego, utilizando .htaccess o directivas de servidor, configurar el archivo de encabezado Expires un mes o dos en el futuro. Cuando el mismo usuario vuelve a su sitio será cargado desde la caché del navegador y de la solicitud irá a su sitio. No más de 404 en los registros del servidor.

Si usted tiene el control sobre un servidor Apache completo o tal vez un servidor virtual usted puede hacer esto:

Si el documento de servidor raíz, es decir, /var/www/html, a continuación, agregue esto a /etc/httpd/conf/httpd.conf:-

Alias /favicon.ico "/var/www/html/favicon.ico"
<Directory "/var/www/html">
    <Files favicon.ico>
       ExpiresActive On
       ExpiresDefault "access plus 1 month"
    </Files>
</Directory>

A continuación, una sola favicon.el ico va a trabajar para todos los virtual alojado sitios, ya que son aliasing. Se pueden extraer de la memoria caché de su navegador durante un mes después de que los usuarios de la visita.

.htaccess este se presentó a trabajar (no comprobado por mí):-

AddType image/x-icon .ico
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 month"

4voto

David Hobs Puntos 718

Hay un montón de buenas respuestas, pero creo que la mejor respuesta así como la discusión de alternativas, en este Stack Overflow de P&r. La mejor parecía ser base64 codificar la imagen en js, y alimentar el favicon enlace con un hash - el último se ha sugerido anteriormente.

Algunas otras variaciones se han propuesto así.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X