Advanced: Caching

browser.cache.disk.enable (Boolean). When set to true (Default), this enables Firefox to cache data to the hard drive (This can be further tuned by options covered beneath). There's no need to disable (false) this; if you don't wish to store the browser cache on the hard drive when not required, the Clear Private Data utility (Covered earlier) allows you to automatically delete it.

browser.cache.disk.parent_directory (String). This entry allows you to specify a location for the cache directory (The default location will be in the Profiles directory). If entering this location in about:config use the standard path format, e.g. C:\Windows\Temp, whereas if entering this into the User.js file via text editor double \ are required in the path, e.g. C:\\Windows\\Temp.

browser.cache.disk_cache_ssl (Boolean). When set to false secure webpages (https://, etc.) are not saved in the cache folder. This is quite sensible from a security point of view (Although may many certain sites are slower to navigate compared to other Browser, which may cache secure content by default - such as Internet Explorer), as you don't really want secure data cached on your hard drive. Unless you have a specific reason to enable (true) this, leave it set to false.

browser.cache.disk.capacity (Integer). The value entered here specifies the size, in KB, of the browser's hard drive cache. This improves the rendering speed of a webpage as data (images, etc.) can be loaded directly from the hard drive as opposed to needing to be downloaded. On the negative side, this can potentially mean old data is loaded rather than newer versions, which can be countered with the browser.cache.check_doc_frequency setting. Several dozen MBs (With 1024KB = 1MB) should prove sufficient for the browser cache, there's no need to go excessive with it (Though if you browse a lot of sites daily then it may be more worthwhile). Personally I use 51200 (50MB).

browser.cache.check_doc_frequency (Integer). The value entered specifies how often never versions of cached files are check for. 0 checks once per session. 1 checks each time the webpage is loaded. 2 specifies that the cached version is used if it exists. While 3 checks automatically (Whenever it's out of date).

browser.cache.memory.enable (Boolean). When set to true, this enables Firefox to cache data into RAM (This cache is not equivalent to the hard drive cache and only stores images and chrome). The benefit of this is that RAM is much faster than the hard drive so loading of cached data should be further improved (Highly useful during Back/Forward operations). Memory usage is determined by what Firefox needs, i.e. viewing multiple image intensive windows/tabs RAM usage will be high. If you don't wish waste RAM caching browser data (More of a concern where you are dealing with image intensive pages) then set this to false.

browser.cache.memory.capacity (Integer). This preference does not control how much RAM may be used by Firefox's memory cache; rather it sets the amount of RAM, in KB, which Firefox will attempt to reduce memory usage to whenever possible, e.g. after closing windows/tabs. In the address bar enter (Or copy and paste) about:cache to view memory cache info;

Memory cache device

Number of entries: 410
Maximum storage size: 18432 KiB
Storage in use: 10871 KiB
Inactive storage: 8011 KiB

When set to -1 Firefox determines this value based on RAM installed as indicated in the table beneath;

RAM (MB)

Memory Cache (KB)

32

2048

64

4096

128

6144

256

10240

512

14336

1024

18432

2048

24576

4096

30720

Again, understand that Firefox will exceed this value as necessary; the value entered more so relates to how aggressively Firefox attempts to free cached data from RAM. Personally speaking you're probably best off setting to -1 rather than specifying an actual value.

browser.sessionhistory.max_total_viewers (Integer). This value specifies the number of content viewers cached for faster (instantaneous) Back/Forward operations. The default is -1, which calculates the amount based on RAM installed. Should you encounter problems with memory use (Or other issues) with this enabled, set it to 0 to disable it, although Back/Forward operations will be slower as a result.

browser.sessionhistory.max_entries (Integer). The value entered here specifies the maximum number of history entries displayed for Back/Forwards operations, the default being 50. Note, this has no effect on the number of entries stored in History itself, merely how many are available for Back/Forwards operations in a window. There's no real need to change this value, but if you must, alter it to a value based on how many pages you're likely to view consecutively in 1 window &/or by how many pages you're likely to skip back/forwards in such cases (More than likely it'll be less than the default). Personally I use 10.

config.trim_on_minimize (Boolean). Setting this to true specifies that Firefox's working set can be trimmed when minimized; freeing RAM for use by other processes (See here for further information). This is common practice for applications, although as discussed in Bug 76831, Firefox can temporarily become unresponsive when attempting to bring it to the foreground again (Though performance is fine once it has been), unfortunately this is compounded by multiple other memory related bugs in Firefox. As such you might find it best to set this to false to disable such swapping (Thereby avoiding the responsiveness issues). Alternatively, if you don't intend to use Firefox for some time, simply close it instead.

network.cookie.lifetimePolicy (Integer). This option allows you to control how cookie storage is handled. 4 options are available (Note - This is the similar to the Accept cookies from sites - Keep until option in the Privacy tab, albeit features an additional option).

0. This specifies that cookies are stored until they expire, as per their expiration date. This can vary greatly from site to site (and for what purpose). In my own case, of 3 cookies the expiration dates were 2006, 2010 and 2037. As a result, selecting 0 is most likely to lead to a whole heap of cookies stored on your PC until either you use the Clear button or start deleting them manually. That said, this option also ought to provide the most hassle free mode of operation.

1. Selecting this option prompts you with the beneath whenever accepting a cookie is concerned.

- Use my choice for all cookies from this site. Selecting this option sets Firefox to apply the option chosen (Allow/Allow for Session/Deny) for all further cookies originating from the site in question. This would be recommended where you would visit a website regularly or incidentally receive a lot of prompts regarding their cookies and wish to specify how to handle all their cookies.

- Show/Hide Details. Clicking this button allows you to view/hide details on the cookie that confirmation is currently being prompted for. This may help you decide whether to accept/deny it.

- Allow. Select this button to enable the creation of a cookie from the site. This would be recommended where the cookie is benign in function, e.g. for storing forum login details so you won't need to login every time.

- Allow for session. Select this button to enable the creation of a cookie from the site, but which lasts only for the current Firefox session.

- Deny. Select this button to disable the creation of a cookie from the site.

2. Selecting this option allows cookies to be accepted without prompting you, albeit only until the Firefox session is closed. This offers a decent trade-off between convenience and privacy/cluttering. As you may have realised from earlier though, downsides can include things such as having to re-entering login information for sites each time you wish to enter them.

3. This option specifies that accepted cookies expire after the number of days set by network.cookie.lifetime.days. This can be useful as many cookies can set expiration dates days, weeks, even years into the future, this allows for some longevity for such cookies, without allowing your system retain them for too long.

network.cookie.lifetime.days (Integer). When network.cookie.lifetimePolicy is set to 3, this option specifies how long, in days, a cookie is stored before expiration (Ignoring the expiration date of the cookie if longer than what's set), the default being 90 days. Increase or decrease this as you see fit, personally I'd use 7 days.