Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Feb 1996 14:36:47 -0800 (PST)
From:      pete@pelican.com (Pete Carah)
To:        brandon@tombstone.sunrem.com (Brandon Gillespie)
Cc:        questions@freebsd.org
Subject:   Re: apache server
Message-ID:  <m0tjw0F-0000SMC@pelican.com>
In-Reply-To: <Pine.BSF.3.91.960206143350.22460A-100000@tombstone.sunrem.com> from "Brandon Gillespie" at Feb 6, 96 02:54:23 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Brandon Gillespie writes:
 
> > If you want to have each site show as http://unique.site.name/xxxxx,
> > this problem is NOT solvable by anything on the server end except for
> > multiple IP addresses.  The problem comes from a shortcoming in the
> > http protocol itself; the base site name is not forwarded to the host
> > when the http query is made.  This is because the CERN/UIUC folks way back
> > a few years ago, when they invented http thought that noone would ever 
> > want to do that, I guess... 
 
> Actually, the 'problem' has nothing to do with http whatsoever.
Yes it does.

> The 
> 'problem' is that when you get an opened TCP connection the ONLY 
> information you have is the IP address, you get the name by calling the 
> named and doing a reverse lookup.

Wrong two ways
1. Apache doesn't do reverse lookups for this purpose.  Neither does innd;
   reverse lookups are very expensive.  Look at the apache startup code;
   wonder, for example, why it cores when a virtual domain is not in the
   *forward* nameserver yet (the sig 11 is a pure mistake, but it does show
   how they handle virtual hosts)...  (and in the innd case, why you have
   to reload hosts.nntp whenever you change it...)  Both of these do *only*
   forward lookups.

2. http could present the request as
GET //site.domain/file
but instead it presents it as
GET /file

Note that http clients all do this already for proxys; it isn't much
of an extension to have them do it for all requests.

>Since all IP addresses can only have 
> one authoritative name (additional names are aliases/cnames), you will 
> not know if the other end pointed to your machine with 'www.foo.com' or 
> 'www.bar.com'.  HOWEVER, your machine can handle more than one IP 
> address, which is how it figures out that you are pointing to another 
> 'site'.  Admittedly you could add to the HTTP protocol so the client 
> tells the server what the client thinks the server's name is, but this 
> would be horridly redundant, in general its best to distribute the load 
> and put different domains on different machines, a 486DX unix box can be 
> hacked together for virtually nothing.

That is not the *real* problem.  http could very easily have been 
formulated to handle this problem but the originators of http never 
thought it would explode into what it has :-)  If the original problem
statement had included shared servers it would probably have had
the requested hostname included by default.  It wouldn't really be that
redundant (see next)...

I know all the TCP stuff, and that cnames don't show.
Remember that all TCP packets have at least 40 bytes of junk at the start,
not counting the link-layer overhead.  a domain name wouldn't be *that*
much more.  (and VJ compression doesn't help widely-spaced requests 
very much.)

Just for interest, http/html was invented by a bunch of high-energy 
physicists (at CERN and UIUC) to pass papers around the net in a nicer 
way than email.  (*really*)  Since papers all reference each other 
(where's the original research come from, anyhow :-) the hypertext 
aspects were thrown in to make this easier.  Commercial use, especially 
on the current scale, was never forseen at the beginning; it shows...

> > another way involves CNAMEs and a chooser page but that's a kluge too).
> 
> uhh, yeah, right.

Look at http://www.caves.org/ among others...  If you check with nslookup
it is a pointer directly to an iquest server's primary address, not
an alias.  popmail is an even worse problem; it was *never* meant for
what most isp's use it for these days.  Talk about mixing domains...
[btw - The actual pages are http://www.caves.org/~nss]

> 
> One comment: keep the aliases to a minimum when virtual hosting, too many 
> can really slow down networking.
That's why it is a P120 :-)  At least one isp I've heard from in passing on 
another freebsd list has about 400 aliases and still nicely keeps up
with a T1 (no, I don't remember who; I think he's in germany).

-- Pete



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?m0tjw0F-0000SMC>