Bugs: Firefox, favicon y webs protegidas
Este artículo va sobre esos bugs puñeteros e imposibles que se diagnostican con facilicidad cuando tienes acceso a los recursos apropiados. En este caso, los logs del servidor web.
Este bug es simple de explicar: Si una web está protegida con usuario/clave, lo normal es que el favicon no funcione en Firefox. ¿Por qué?. Porque cuando Firefox solicita el favicon al servidor no envía las credenciales y el servidor web le denegará el acceso.
En el log del servidor web veía algo de este estilo:
IP - [15/Oct/2015:12:06:26 +0200] "GET /icons/favicon.png HTTP/1.1" 401 381 [...]
El código 401 indica acceso denegado.
La solución obvia es "desproteger" el favicon de forma selectiva. En Apache HTTP Server sería algo de este estilo:
La versión original requería un usuario autenticado válido.
La segunda versión admite el acceso si tenemos un usuario autenticado válido o si estamos accediendo al favicon. Es decir, no se pide autenticación para acceder al favicon.
En el log ahora sale lo que tiene que salir y Firefox muestra el favicon correctamente en la pestaña del navegador:
IP - [16/Oct/2015:01:23:50 +0200] "GET /icons/favicon.png HTTP/1.1" 200 1319 [..]
El código 200 indica que todo ha ido bien.
La parte más complicada de todo esto, una vez diagnosticado el problema, fueron las pruebas. Hay que lidiar con el cacheo que hace Firefox y el hecho de que guarda los favicons en muchos sitios diferentes. Tema de otro artículo... :-).