Mozilla Firefox es un reconocido navegador web libre, compatible con los estándares y muy funcional, en gran medida gracias a su flexibilidad para instalar complementos.
Desafortunadamente, a medida que las versiones progresan, este navegador se orienta cada vez más al tipo de recursos de hardware y conectividad usualmente disponibles en países tecnológicamente desarrollados, lo cual evidentemente afecta a las demás regiones del mundo que aún están en vías de desarrollo.
En este artículo se pretende recopilar un listado de algunas de las preferencias que pueden utilizarse para optimizar Firefox y posiblemente cualquier otro proyecto derivado de este, como IceWeasel, Pale Moon, WaterFox, etc.
Para acceder a las preferencias avanzadas, solo necesitamos utilizar la dirección especial about:config (nótese que el propio Firefox advierte que hay que tener cuidado al modificar manualmente las preferencias).
También es posible editar manualmente el archivo prefs.js
, que puede encontrarse en el directorio del perfil de Firefox (si bien esta variante es algo más compleja).
Para implementar optimizaciones masivas en una institución podría utilizarse el Kit de personalización para clientes.
Algunas de las funciones útiles para los archivos de preferencias:
A continuación se ofrece una tabla con algunas de las entradas más frecuentemente utilizadas para optimizar Firefox. Para más detalles sobre las preferencias, puede visitarse la página oficial al respecto, o también la base de conocimientos, de la cual también hay una versión en español aquí.
Preferencia | Tipo | Val. predeterminado | Val. recomendado | Descripción / Efecto / Observaciones |
---|---|---|---|---|
accessibility.blockautorefresh | lógico | false | true | Evita que el navegador recargue periódicamente páginas que ya tiene abiertas, pidiendo una confirmación en su lugar. |
app.update.auto | lógico | true | false | Evita que el navegador se actualice automáticamente, lo cual puede ser útil para conexiones muy lentas. |
app.update.enabled | lógico | true | true | Permite actualizar el navegador (manualmente, desde Ayuda → Acerca de Firefox). |
browser.aboutHomeSnippets.updateUrl | cadena | https://snippets.cdn.mozilla.net/%STARTPAGE_VERSION%/ %NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/ %LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/ %DISTRIBUTION_VERSION%/ 1) | Dejar este valor en blanco deshabilita el servicio de distribución de contenido sugerido basado en los detalles del navegador, pero que nada tienen que ver con las preferencias del usuario. | |
browser.cache.check_doc_frequency | entero | 3 | 0 | Establecer a cero para verificar si hay nuevas versiones de las páginas visitadas solo una vez por sesión, a 1 para verificar cada vez que se abra la página, a 2 para no verificar si hay nuevas versiones y obtener las paginas siempre de la cache en disco, y a 3 para obtener nuevas versoines cuando la página esté obsoleta. |
browser.cache.disk.capacity | entero | 50000 ó 51200 | 131072 | Capacidad (en KiB) de la cache de disco. Un valor de cero deshabilita la cache en disco. |
browser.cache.disk.enable | lógico | true | true | Habilitar la cache de disco. |
browser.cache.disk.max_entry_size | entero | 51200 | 16384 | Tamaño máximo (en KiB) del elemento cacheado en disco. Establecer -1 deshabilita el límite. |
browser.cache.disk.parent_directory | cadena | N/A | <RUTA> | Permite establecer una ruta personalizada para la cache en disco. En el directorio que se especifique se creará un subdirectorio de nombre Cache . |
browser.cache.disk.smart_size.enabled | lógico | true | true | Habilita la cache de disco de capacidad inteligente. |
browser.cache.disk.smart_size.first_run | lógico | true | false | Establece si es la primera vez que se usa la cache de capacidad inteligente. |
browser.cache.disk_cache_ssl | lógico | true | true | Habilitar la cache de disco para SSL. |
browser.cache.memory.capacity | entero | N/A | -1 | Un valor de -1 hace que Firefox administre automáticamente el tamaño de la cache RAM para imágenes decodificadas y chrome. Un valor de cero deshabilita la cache para estos elementos. Un valor positivo establece el tamaño de la cache RAM (en KiB). |
browser.cache.memory.enable | lógico | true | true | Habilita el uso de la cache RAM. Si se deshabilita, algunas aplicaciones pueden dejar de funcionar correctamente. |
browser.cache.memory.max_entry_size | entero | 5120 | 512 | Tamaño máximo (en KiB) del elemento cacheado en la RAM. Establecer -1 deshabilita el límite, pero un elemento no podrá ser mayor que el 90% del tamaño de la cache en RAM. En teoría, con un valor bajo el cambio de pestañas podría demorar un poco, pero el navegador debería responder más fluidamente en general. |
browser.cache.use_new_backend_temp | lógico | true | false | En las versiones recientes de Firefox, para utilizar el complemento ImgLikeOpera es necesario deshabilitar esta preferencia. |
browser.cache.offline.capacity | entero | 512000 | 512000 | Capacidad máxima (en KiB) de la cache sin conexión. |
browser.cache.offline.enable | lógico | true | true | Habilitar la cache sin conexión. |
browser.fullscreen.animateUp | entero | 1 | 0 | No animar el paso a pantalla completa. |
browser.newtab.preload | lógico | true | true | Acelera la creación de una nueva pestaña. |
browser.newtab.url | cadena | about:newtab | about:blank | Establece como URL para las nuevas pestañas una página en blanco. |
browser.newtabpage.directory.ping | cadena | https://tiles.services.mozilla.com/v2/links/ | Dejar esta preferencia en blanco deshabilita la carga regular de los contenidos patrocinados por Mozilla. | |
browser.newtabpage.directory.source | cadena | https://tiles.services.mozilla.com/v2/links/fetch/%LOCALE% | Dejar esta preferencia en blanco deshabilita el contenido patrocinado por Mozilla (también puede ser necesario eliminar el archivo directoryLinks.json ). |
|
browser.newtabpage.enabled | lógico | true | false | Desabilitar esta preferencia hace que las nuevas pestañas carguen una página en blanco. |
browser.newtabpage.enhanced | lógico | true | false | Deshabilitar la nueva pestaña mejorada para reducir el consumo. |
browser.newtabpage.introShown | lógico | false | false | Deshabilitar la introducción a Firefox. |
browser.pagethumbnails.capturing_disabled | lógico | N/A | true | Deshabilita la creación de imágenes para los favoritos. |
browser.sessionhistory.max_total_viewers | entero | -1 | 0 | Un valor positivo indica la cantidad de páginas visitadas a almacenar en RAM (algo diferente al mecanismo de cache) para que no tengan que analizarse sintácticamente (cada página por defecto ocupa unos 4 MiB). El valor cero hace que las páginas visitadas no se guarden en la RAM, útil para sistemas con poca memoria, pero que ralentiza un poco volver a las páginas visitadas. El valor -1 gestiona la capacidad automáticamente basándose en la RAM disponible. |
browser.tabs.animate | lógico | true | false | Deshabilitar la animación de las pestañas para mejorar el rendimiento. |
browser.tabs.closeWindowWithLastTab | lógico | true | false | Deshabilita que se cierre el navegador al cerrar la última pestaña. |
content.interrupt.parsing | lógico | N/A | true | Controla si la aplicación puede interrumpir la carga de una página para responder a eventos de la interfaz de usuario. |
content.max.tokenizing.time | entero | N/A | 1000000 | Controla el tiempo que la aplicación podrá permanecer sin dar respuesta mientras se cargan las páginas. El valor sugerido por Mozilla es el triple de content.notify.interval . Necesita que content.notify.ontimer y content.interrupt.parsing estén habilitados. |
content.notify.interval | entero | N/A | 500000 | Tiempo mínimo (en microsegundos) para reajustar la página mientras va cargando. La preferencia por defecto no existe, pero el valor predeterminado es de 120000. Un valor bajo hace que la página muestre más rápido la parte que va cargando, pero esto a su vez ralentiza el tiempo de carga y eleva el consumo de CPU. Esta preferencia necesita content.notify.ontimer habilitado. |
content.notify.ontimer | lógico | true | true | De estar habilitado, se reajusta el contenido a intervalos, definidos por content.notify.interval . De estar deshabilitado, la página se va reajustando a medida que el contenido se va cargando. |
dom.max_chrome_script_run_time | entero | 20 | 20 | Permite establecer el tiempo (en segundos) que un script de la interfaz de usuario (por ejemplo, de un complemento) puede ejecutarse antes de provocar una advertencia. Los valores menores o iguales a cero deshabilitan el límite de tiempo. |
dom.max_script_run_time | entero | 10 | 20 | Permite establecer el tiempo (en segundos) que un script de una sitio web puede ejecutarse antes de provocar una advertencia. Los valores menores o iguales a cero deshabilitan el límite de tiempo. |
image.cache.size | entero | 5242880 | 25165824 | Tamaño (en bytes) de la cache para imágenes. |
intl.accept_languages | cadena | es-ES,es,en-US,en | es,es-es,en-us,en | Permitir especificar las localizaciones a utilizar si no se encuentra la predeterminada del navegador. |
intl.charsetmenu.browser.cache | cadena | N/A | UTF-8, ISO-8859-1, ISO-8859-15, windows-1252, windows-1250 | Conjuntos de caracteres a cachear. |
intl.charsetmenu.browser.cache.size | entero | 5 | 5 | Capacidad de la cache para conjuntos de caracteres. |
intl.locale.matchOS | lógico | false | true | Habilitar si deseamos que la regionalización de la página no se tome del user-agent, sino del sistema. |
layers.acceleration.disabled | entero | false | true | Habilitar esta preferencia si se nota que el navegador demora en responder aunque se haya limpiado el historial y se haya iniciado una sesión nueva. |
media.cache_size | entero | 512000 | 131072 | Tamaño (en KiB) de la cache para audio y video. |
network.buffer.cache.size | entero | 32768 | 65536 | Tamaño (en bytes) del búfer para las operaciones de red. |
network.cookie.lifetimePolicy | entero | 0 | 2 | Si el valor es cero, el tiempo de vida de la cookie es el establecido en el servidor. Si es 1, se le pide al usuario el tiempo de vida. Si es 2, el tiempo de vida es la duración de la sesión. Si es 3, toma el valor especificado en network.cookie.lifetime.days . |
network.dns.disableIPv6 | lógico | false | true | Deshabilitar las consultas DNS por IPv6 si no se utiliza ese protocolo podría solucionar algunos problemas de conexión. |
network.dns.disablePrefetch | lógico | false | true | Deshabilitar la realización anticipada de consultas DNS. |
network.dns.disablePrefetchFromHTTPS | lógico | N/A | true | Deshabilitar la realización anticipada de consultas DNS desde HTTPS. |
network.dnsCacheEntries | entero | 400 | 2000 | Aumentar la cantidad de consultas DNS a cachear en el navegador reduce las llamadas a los servidores. |
network.dnsCacheExpiration | entero | 60 | 300 | Aumentar el tiempo de expiración (en segundos) de las consultas DNS cacheadas reduce las llamadas a los servidores, pero podría causar problemas si los sitios que se visitan suelen hacer balanceo de carga. |
network.dnsCacheExpirationGracePeriod | entero | 60 | 3600 | Período de gracia (en segundos) adicional a la expiración de la cache DNS. Si una entrada solicitada ha expirado pero se encuentra dentro del período de gracia, se devuelve de la cache, pero se inicia de manera asíncrona una nueva consulta para refrescar el valor. |
network.http.keep-alive | lógico | N/A | true | Mantener la conexión activa. |
network.http.max-connections | entero | 256 | 32 | Máximo de conexiones que pueden establecerse simultáneamente. |
network.http.max-connections-per-server | entero | N/A | 12 | Máximo de conexiones por servidor. |
network.http.max-persistent-connections-per-proxy | entero | 32 | 16 | Máximo de conexiones persistentes por proxy. |
network.http.max-persistent-connections-per-server | entero | 6 | 6 | Máximo de conexiones persistentes por servidor. |
network.http.pipelining | lógico | false | true | Permite enviar varias peticiones en una misma conexión (pipeline). Para que funcione, network.http.keep-alive debe habilitarse y network.http.version debe estabecerse a 1.1 . |
network.http.pipelining.abtest | lógico | false | false | Comprobación de velocidad para pipelining. |
network.http.pipelining.aggressive | lógico | false | false | Fuerza la aplicación de pipelining. |
network.http.pipelining.max-optimistic-requests | entero | 4 | 2 | Máximo de peticiones a colocar en el pipeline que podrían haberse colocado en una conexión separada. |
network.http.pipelining.maxrequests | entero | 32 | 6 | Máximo de peticiones a colocar en el pipline (el máximo efectivo soportado parece ser 8 aunque el valor sea superior). Un valor de 1 deshabilita el pipeline. |
network.http.pipelining.maxsize | entero | 300000 | 131072 | Tamaño máximo (en bytes) de los elementos a colocar en el pipeline. En teoría al colocarse aqui un valor bajo se garantiza que se use el pipeline solo para muchos archivos pequeños como elementos css o javascripts |
network.http.pipelining.ssl | lógico | false | true | Habilitar pipelining sobre SSL. |
network.http.proxy.keep-alive | lógico | N/A | true | Impedir que el proxy desconecte prematuramente. |
network.http.proxy.pipelining | lógico | false | true | Habilitar pipelining también para el proxy. Para que funcione, network.http.proxy.keep-alive debe habilitarse y network.http.proxy.version debe establecerse a 1.1 . |
network.http.redirection-limit | entero | 20 | 6 | Limitar la cantidad de redirecciones permitidas. |
network.prefetch-next | lógico | true | false | Deshabilitar la carga anticipada o especulativa de las páginas enlazadas si no se dispone de una conexión rápida. |
network.tcp.sendbuffer | entero | 131072 | 131072 | Tamaño (en bytes) del búfer de envío. Si se tiene una conexión rápida, aumentar este valor pudiera aumentar la velocidad de subida. |
nglayout.initialpaint.delay | entero | N/A | 500 | Retardo (en milisegundos) antes que la página comience a mostrarse. |
pageThumbs.enabled | lógico | true | false | Deshabilita la creación de miniaturas para las páginas. |
pdfjs.disabled | lógico | false | true | Deshabilitar esta preferencia si se desea utilizar el visualizador de PDF del sistema en lugar del integrado. |
plugin.expose_full_path | lógico | false | true | Muestra la ruta completa a la ubicación de los plugins. |
privacy.clearOnShutdown.cache | lógico | false | false | Limpiar la cache al cerrar. |
privacy.clearOnShutdown.cookies | lógico | false | false | Limpiar las cookies al cerrar. Como de esa manera se almacenan preferencias de sitios, conviene dejarlo deshabilitado. |
privacy.clearOnShutdown.downloads | lógico | false | true | Limpiar las descargas recientes al cerrar. |
privacy.clearOnShutdown.formdata | lógico | false | false | Limpiar al cerrar los datos introducidos en formularios recientes. |
privacy.clearOnShutdown.history | lógico | false | false | Limpiar el historial de navegación al cerrar. |
privacy.clearOnShutdown.offlineApps | lógico | false | false | Limpiar al cerrar los datos de aplicaciones HTML5. |
privacy.clearOnShutdown.passwords | lógico | false | false | Limpiar las contraseñas al cerrar. |
privacy.clearOnShutdown.sessions | lógico | false | true | Limpiar las sesiones al cerrar. |
privacy.donottrackheader.enabled | lógico | false | true | Deshabilitar para solicitar a los sitios que no se quiere ser rastreado. |
privacy.donottrackheader.value | entero | 0 | 1 | Poner en 1 para solicitar a los sitios que no se desea ser rastreado, si se ha habilitado privacy.donottrackheader.enabled . |
privacy.sanitize.promptOnSanitize | lógico | true | false | Deshabilitar para que el usuario no pueda impedir la limpieza automática al cerrar el navegador. |
privacy.sanitize.sanitizeOnShutdown | lógico | false | true | Habilitar para realizar una limpieza automática al cerrar el navegador. |
privacy.trackingprotection.enabled | lógico | false | true | Deshabilitar el rastreo de la navegación, lo cual no solamente aumenta la privacidad y seguridad, sino también la velocidad de navegación. |
toolkit.scrollbox.smoothScroll | lógico | true | false | Deshabilitar la animación del desplazamiento por las pestañas. |
N/A significa no aplicable. En los valores lógicos (boolean), true significa verdadero (si) y false significa falso (no). |