Great question. It is clarifying to think about this problem in a world
where URLs truly have all meaning removed from them (I would claim that URLs
don’t have any meaning to remove already, but that is a matter that takes us
away from engineering and into philosophy, so let’s not go there :-)
Suppose all URLs were large random strings. It is then obvious that meaning
must be imposed externally (as opposed to the current situation where
meaning still has to be imposed externally, but it is not obvious :-).
Now we use the usual capability tenet, only connectivity begets
connectivity. A friend whom I trust to supply a first crucial URL gives me a
URL to a site he calls "Goggle", and says it’s a great place go to find
other sites that other people will recognize. He gives the URL to me either
by handing it to me physically on his flash drive, or he emails it to me, or
he reads it off to me over the phone (carefully, though we make the string
long enough, it would be really hard for a spoofer to figure out a URL that
was similar enough so that a person could make a mistake and be likely to
wind up at the spoof site, i.e, an error will take you to nowhere, so you
can try again :-).
Now I have a site that my friend Bob trusts as a place to find other sites,
I give it the pet name Bob’s Goggle. I type in "paypal", and go to the first
hit and the default name suggested as a pet is bob’s goggle’s paypal.
Meanwhile, I also ask alice for her favorite search site. She’s got one she
calls Google, which she sends me. If this is the same site as bob’s goggle,
my user interface notes that, and I have new confidence in Goggle. Perhaps
it is different, and I change the name to Gargle so that it is sufficiently
different from Goggle so I don’t get confused. I search for paypal on that
one too, and take the first hit, which perhaps is a match for the first hit
off goggle. Cool. Looks like, by signing up with this paypal, I will be on a
system that allows me to exchange bucks with both alice and Bob.—marcs