I think you don't understand what happens behind the scenes.  Every
domain you enter gets prefixed and tested against the domain the browser
thinks you are in.

you type moo on you a.b.com domain and you'll see fantastically smart
dns lookups such as: moo.com.a.b.com, moo.net.a.b.com etc.  Easily 10
network names that will be wrong.

The prefetcher does the opposite of its promise, it slows down the entire
browser.  By looking up all kinds of crap a user won't click.  A good
example is news.google.com which does about 350 DNS lookups.  All that
to save 1 that the user actually clicks.  They traded one perceived
performance issue for a real one.

There is more insanity but these are just examples.

On Mon, Feb 14, 2011 at 02:54:32PM +0100, Robert Nagy wrote:
> why? disable it in xxterm if you don't like it, some people actually
> do like it.
> 
> On (2011-02-14 07:27), Marco Peereboom wrote:
> > I am all for this.  In fact I think we should go further and remove the
> > "guess url that user typed because he/she can't type" code as well and
> > while at it the dns prefetcher.
> > 
> > On Mon, Feb 14, 2011 at 09:37:19AM +0000, Stuart Henderson wrote:
> > > As mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019
> > > browsers using ports/www/webkit make a dns request for . each
> > > time the mouse position changes.
> > > 
> > > Chrome doesn't have this problem (it doesn't seem to have
> > > this code in its internal copy of webkit).
> > > 
> > > I tracked down a patch in https://bugs.webkit.org/show_bug.cgi?id=38263
> > > which fixes this. It seems a bit of a hack (why is it bothering to
> > > look these up internally anyway?) but it's way better than what we
> > > have now.
> > > 
> > > With the port diff below, I can now start xxxterm or midori, open a
> > > page, and move the mouse over the window, without sending hundreds or
> > > thousands of junk requests to the nameserver.
> > > 
> > > If you're using this on a metered or slow internet connection it's
> > > quite an improvement...
> > > 
> > > 
> > > Index: Makefile
> > > ===================================================================
> > > RCS file: /cvs/ports/www/webkit/Makefile,v
> > > retrieving revision 1.41
> > > diff -u -p -r1.41 Makefile
> > > --- Makefile      30 Dec 2010 17:55:32 -0000      1.41
> > > +++ Makefile      14 Feb 2011 09:31:47 -0000
> > > @@ -4,6 +4,7 @@ COMMENT = open source web browser engine
> > >  
> > >  DISTNAME =       webkit-1.2.6
> > >  EPOCH =          0
> > > +REVISION =       0
> > >  CATEGORIES =     www
> > >  
> > >  HOMEPAGE =       http://webkitgtk.org/
> > > Index: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
> > > ===================================================================
> > > RCS file: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
> > > diff -N patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
> > > --- /dev/null     1 Jan 1970 00:00:00 -0000
> > > +++ patches/patch-WebCore_platform_network_soup_DNSSoup_cpp       14 Feb 
> > > 2011 09:31:47 -0000
> > > @@ -0,0 +1,16 @@
> > > +$OpenBSD$
> > > +
> > > +don't try and resolve DNS for . for every single mouse movement
> > > +in a browser window. from https://bugs.webkit.org/show_bug.cgi?id=38263
> > > +
> > > +--- WebCore/platform/network/soup/DNSSoup.cpp.orig       Sun Feb 13 
> > > 17:45:39 2011
> > > ++++ WebCore/platform/network/soup/DNSSoup.cpp    Sun Feb 13 17:46:05 2011
> > > +@@ -36,6 +36,8 @@ namespace WebCore {
> > > + void prefetchDNS(const String& hostname)
> > > + {
> > > + #ifdef HAVE_LIBSOUP_2_29_90
> > > ++    if (hostname.isEmpty())
> > > ++        return;
> > > +     String uri = "http://"+hostname;
> > > +     GOwnPtr<SoupURI> soupURI(soup_uri_new(uri.utf8().data()));
> > > +     // We may get invalid hostnames, so NULL-check here.
> > > 
> > 
> 

Reply via email to