The following is a patch that disables DNS prefetching and Link prefetching.
DNS prefetching causes all links on a webpage to be resolved during load. This causes sites to load more slowly, but supposedly makes clicking on a link faster since now it is in the DNS cache. In the world of broadband, I think it DNS prefetching slows web browsing down. Going to http://news.google.com: with DNS prefetching: 310 lookups (155 IPv6, 155 IPv4) 50 seconds doing lookups without DNS prefetching: 18 lookups (9 IPv6, 9 IPv4) 2 seconds doing lookups Link prefetching allows websites to have a web browser load a webpage in the background by using <link rel="next" href="XXXXX" />. Sites use this to speed up load time IF the user clicks the link. However, it can and is used for cross-site tracking. For example, foocompany.com could have <link rel="next" href="http://www.barcompany.com" /> in it's HTML source. You visit foocompany.com, your browser prefetches http://www.barcompany.com in the background without you ever clicking anything, resulting in barcompany knowing you visited foocompany.com. For me, this is a huge security and privacy issue, as well as a waste of bandwidth. So, the proposed patch is to make OpenBSD's firefox package disable both of these options by default. I am sure people with disagree with changing the default options of firefox, but as an operating system that builds its reputation on security and privacy, I figure this wouldn't be out of line. If you would like to test without using the patch, just goto about:config and toggle or add: network.dns.disablePrefetch to true network.prefetch-next to false I'd be interested to know if people see an increase or decrease in web browsing performance. Index: patches/patch-modules_libpref_src_init_all_js =================================================================== RCS file: patches/patch-modules_libpref_src_init_all_js diff -N patches/patch-modules_libpref_src_init_all_js --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-modules_libpref_src_init_all_js 15 Oct 2011 02:01:58 -0000 @@ -0,0 +1,22 @@ +$OpenBSD$ +--- modules/libpref/src/init/all.js.orig Wed Sep 28 16:25:00 2011 ++++ modules/libpref/src/init/all.js Fri Oct 14 21:59:07 2011 +@@ -959,6 +959,9 @@ pref("network.dns.ipv4OnlyDomains", ""); + // This preference can be used to turn off IPv6 name lookups. See bug 68796. + pref("network.dns.disableIPv6", false); + ++// This preference disables DNS prefetching ++pref("network.dns.disablePrefetch", true); ++ + // This preference controls whether or not URLs with UTF-8 characters are + // escaped. Set this preference to TRUE for strict RFC2396 conformance. + pref("network.standard-url.escape-utf8", true); +@@ -981,7 +984,7 @@ pref("network.ftp.idleConnectionTimeout", 300); + pref("network.dir.format", 2); + +-// enables the prefetch service (i.e., prefetching of <link rel="next"> URLs). ++// disables the prefetch service (i.e., prefetching of <link rel="next"> URLs). +-pref("network.prefetch-next", true); ++pref("network.prefetch-next", false); + + + // The following prefs pertain to the negotiate-auth extension (see bug 17578),