What is network.dns.disablePrefetch ?

Users and developers helping users with generic and technical Pale Moon issues on all operating systems.

Moderator: trava90

Forum rules
This board is for technical/general usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in other boards!
Please keep off-topic and general discussion out of this board, thank you!
hackerman1
Lunatic
Lunatic
Posts: 385
Joined: 2013-12-19, 15:12
Location: Sweden

What is network.dns.disablePrefetch ?

Unread post by hackerman1 » 2017-03-19, 13:08

In about:config...
What is network.dns.disablePrefetch ?
And why is it set to true ?
Administrator on Windows Server to Workstation
Moderator (and "undercover" Admin) on The Windows Club Forum

Security: EAM, Comodo Firewall and HIPS, WinPatrol+, HOSTS-file, UAC (max), Sandboxie, NoScript and ADBlock.


User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: What is network.dns.disablePrefetch ?

Unread post by Moonchild » 2017-03-19, 19:14

As the pref's name suggests, it disables prefetching of IP addresses for host names that are in the page's content.
It's disabled for a few reasons. One is potential privacy issues, indeed. Another is to not generate unnecessary network traffic from the browser (best practice). The potential "performance win" by having an IP address ready before a user navigates (debatable, at best) that has driven this decision @Mozilla really doesn't outweigh multiplying DNS traffic by as many foreign links as there are in content.

EDIT: by the way, helloimustbegoing -- link prefetching isn't the same thing as DNS prefetching. Link prefetching is actually worse because it makes actual server requests, not just DNS lookups.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

hackerman1
Lunatic
Lunatic
Posts: 385
Joined: 2013-12-19, 15:12
Location: Sweden

Re: What is network.dns.disablePrefetch ?

Unread post by hackerman1 » 2017-03-19, 19:55

Moonchild wrote:The potential "performance win" by having an IP address ready before a user navigates (debatable, at best) that has driven this decision @Mozilla really doesn't outweigh multiplying DNS traffic by as many foreign links as there are in content.
Can you please clarify this ?
I´m confused by your grammar... ;)

Personally i noticed a real difference many years ago when DNS-prefetching was introduced in Firefox.
But, it might depend on how fast your internet-connection is...
Administrator on Windows Server to Workstation
Moderator (and "undercover" Admin) on The Windows Club Forum

Security: EAM, Comodo Firewall and HIPS, WinPatrol+, HOSTS-file, UAC (max), Sandboxie, NoScript and ADBlock.

Andrew Gilbertson

Re: What is network.dns.disablePrefetch ?

Unread post by Andrew Gilbertson » 2017-03-19, 20:05

hackerman1 wrote:Can you please clarify this ?
I´m confused by your grammar... ;)
Seemed perfectly clear to me... but let me paraphrase:

Although there is sometimes a small performance increase by setting this to false, it is relatively small; and setting it to false considerably multiplies the traffic to DNS servers, as a single page may contain links to many other servers. Therefore, Moonchild has made the decision to leave it set to true by default (while leaving the preference in place for power users who wish to flip it to false) in order to keep the browser in line with best practices of not sending unneeded requests to servers that the user is not likely to visit (as this increases network overhead in a number of ways, including recursive lookups to get DNS information for not-currently-cached items and making collision avoidance more difficult).

Moonchild: Feel free to correct anything I've said above that is incorrect. Or even insufficiently nuanced.
Last edited by Andrew Gilbertson on 2017-03-19, 20:35, edited 1 time in total.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: What is network.dns.disablePrefetch ?

Unread post by Moonchild » 2017-03-19, 20:22

Andrew Gilbertson wrote:in order to keep the browser, in its default state, useful to those who run it on low-resource computers or in a limited-bandwidth setting.
This wasn't even a primary concern. More important is reducing what I call "digital waste". Even if it's just digital, every bit (pun intended) of digital waste still has to be processed by one or more devices. It adds up quickly.

If you load one page that has links to 10 other sites, with prefetching on, the browser will make 10 requests to the DNS server for places you're likely never going to visit. All these queries have to be recursively looked up on the Internet for no benefit at all to anyone.
In addition, not just limited bandwidth concerns, but if you are on high-latency or "collision-avoidance" networks like on wireless, this also slows things down considerably.

It is best practice from a networking point of view to only make those requests to servers that you are actually going to need (whether they are web servers or other servers like DNS).
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

hackerman1
Lunatic
Lunatic
Posts: 385
Joined: 2013-12-19, 15:12
Location: Sweden

Re: What is network.dns.disablePrefetch ?

Unread post by hackerman1 » 2017-03-19, 20:32

Andrew Gilbertson wrote: Although there is sometimes a small performance increase by setting this to false, it is relatively small; and setting it to false considerably multiplies the traffic to DNS servers, as a single page may contain links to many other servers. Therefore, Moonchild has made the decision to leave it set to true by default (while leaving the preference in place for power users who wish to flip it to false) in order to keep the browser in line with best practices of not sending unneeded requests to servers that the user is not likely to visit (as this increases network overhead in a number of ways, including recursive lookups to get DNS information for not-currently-cached items and making collision avoidance more difficult).
Thanks, but now i´m even more confused...

network.dns.disablePrefetch = true means that DNS-prefeching is disabled.
False means that DNS-prefetching is enabled
The default setting is true, not false.

Or am i missing something...?
I understand that enabling DNS-prefetching means "extra" network-traffic, but I think you meant the opposite of what you said....
Last edited by hackerman1 on 2017-03-19, 22:19, edited 2 times in total.
Administrator on Windows Server to Workstation
Moderator (and "undercover" Admin) on The Windows Club Forum

Security: EAM, Comodo Firewall and HIPS, WinPatrol+, HOSTS-file, UAC (max), Sandboxie, NoScript and ADBlock.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: What is network.dns.disablePrefetch ?

Unread post by Moonchild » 2017-03-19, 22:04

Correct. The default for the pref in Pale Moon is true, meaning prefetching is disabled, meaning Pale Moon doesn't generate this kind of superfluous traffic and as such follows best practices.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

hackerman1
Lunatic
Lunatic
Posts: 385
Joined: 2013-12-19, 15:12
Location: Sweden

Re: What is network.dns.disablePrefetch ?

Unread post by hackerman1 » 2017-03-19, 22:21

Thanks Moonchild.
I was starting to wonder if i was dumb... :D
Administrator on Windows Server to Workstation
Moderator (and "undercover" Admin) on The Windows Club Forum

Security: EAM, Comodo Firewall and HIPS, WinPatrol+, HOSTS-file, UAC (max), Sandboxie, NoScript and ADBlock.

hackerman1
Lunatic
Lunatic
Posts: 385
Joined: 2013-12-19, 15:12
Location: Sweden

Re: What is network.dns.disablePrefetch ?

Unread post by hackerman1 » 2017-03-19, 22:42

This setting is "inverted", which is why it is confusing.
Usually true means enabling something...

Suggestion: rename the setting to enable.dns-prefetch, and then accordingly change the default to false.

If i remember correctly that is how it was in Firefox when it was introduced years ago.
Administrator on Windows Server to Workstation
Moderator (and "undercover" Admin) on The Windows Club Forum

Security: EAM, Comodo Firewall and HIPS, WinPatrol+, HOSTS-file, UAC (max), Sandboxie, NoScript and ADBlock.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: What is network.dns.disablePrefetch ?

Unread post by Moonchild » 2017-03-20, 10:12

hackerman1 wrote:enable.dns-prefetch
If renamed, it should certainly not be renamed to this -- sticking to the proper hierarchy to keep things logical is important.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

hackerman1
Lunatic
Lunatic
Posts: 385
Joined: 2013-12-19, 15:12
Location: Sweden

Re: What is network.dns.disablePrefetch ?

Unread post by hackerman1 » 2017-03-20, 12:24

You are absolutely right.
dns-prefetch.enable would of course be more logical, and more "proper hierarchy"...

But what i meant was: rename it to something with enable and dns-prefetch in the name,
so it is clear that setting it to true enables dns-prefetching.
Administrator on Windows Server to Workstation
Moderator (and "undercover" Admin) on The Windows Club Forum

Security: EAM, Comodo Firewall and HIPS, WinPatrol+, HOSTS-file, UAC (max), Sandboxie, NoScript and ADBlock.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: What is network.dns.disablePrefetch ?

Unread post by Moonchild » 2017-03-21, 00:27

It's certainly not the only boolean that is a disabling pref. As long as it's properly named, there is no issue IMHO.

But if it really bugs you that much, feel free to write a patch to invert the name and function compared to what we have now.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

hackerman1
Lunatic
Lunatic
Posts: 385
Joined: 2013-12-19, 15:12
Location: Sweden

Re: What is network.dns.disablePrefetch ?

Unread post by hackerman1 » 2017-03-21, 00:48

It was confusing when i first looked at it.
I had to think...
It doesn´t bother me now.

As you can see above (Andrew´s post), i´m obviously not the only one getting confused,
which i why i suggested that it should be renamed, and as consequence "non-inverted".

Any setting which is "inverted", where true means enabling a disabling-function is likely to cause confusion.... ;)
"Double negation" is confusing, which is why it usually is a good idea to avoid it when programming.
Administrator on Windows Server to Workstation
Moderator (and "undercover" Admin) on The Windows Club Forum

Security: EAM, Comodo Firewall and HIPS, WinPatrol+, HOSTS-file, UAC (max), Sandboxie, NoScript and ADBlock.

User avatar
Pallid Planetoid
Knows the dark side
Knows the dark side
Posts: 4279
Joined: 2015-10-06, 16:59
Location: Los Angeles CA USA

Re: What is network.dns.disablePrefetch ?

Unread post by Pallid Planetoid » 2017-03-21, 01:18

The key is simply whether the preference description includes the term "enable" or "disable".

If the preference description includes "enable" and the value is "true" then the setting is enabled as opposed to a value of "false" in which case the preference is NOT enabled hence "disabled".

If the preference description includes "disable" and value is "true" then the setting is disabled as opposed to a value of "false" in which case the preference is NOT disabled hence "enabled".

The confusion is understandable on the basis that "false" is intuitively interpreted as disabled and "true" as enabled, but that is only the case when a preference does not include a qualifier of either "enable" or "disable" in the description.

Clear as mud, huh? ;)
Current Pale Moon(x86) Release | WIN10 | I5 CPU, 1.7 GHz, 6GB RAM, 500GB HD[20GB SSD]
Formerly user Pale Moon Rising - to provide context involving embedded reply threads.
Good judgment comes from experience and a lot of that comes from bad judgment. - Will Rogers
Knowing Pale Moon is indisputably #1 is defined by knowing the totality of browsers. - Pale Moon Rising

hackerman1
Lunatic
Lunatic
Posts: 385
Joined: 2013-12-19, 15:12
Location: Sweden

Re: What is network.dns.disablePrefetch ?

Unread post by hackerman1 » 2017-03-21, 02:02

Pale Moon Rising wrote: Clear as mud, huh? ;)
Exactly.... :D
Administrator on Windows Server to Workstation
Moderator (and "undercover" Admin) on The Windows Club Forum

Security: EAM, Comodo Firewall and HIPS, WinPatrol+, HOSTS-file, UAC (max), Sandboxie, NoScript and ADBlock.

Locked