http://foobar.com/contact-info
rather than
http://foobar.com/contact-info.html
or
http://foobar.com/contact-info.aspx
. If you publish only
abstract URLs, you have the freedom to change your implementation
technology without breaking users' bookmarks and links from other sites.
articles, comments, news, questions,
answers
, it is possible to define a single content
repository table that is flexible enough to store all of these in
one place. This approach to data modeling makes it simpler to perform
queries such as "show me all the new stuff since yesterday" or "show
me all the content contributed by User #37". With a content
repository, it is also easier to program and enforce consistent
site-wide policies regarding approval, editing, and administration of
content.
registration_date
would contain information only of type
date
. A data model is interesting because it shows what
kinds of information a computer application can process. For example,
if there is no place in the data model for the program to store the IP
address from which content was posted, the publisher will never be able
to automatically delete all content that came from the IP address of a
spammer.
www.google.com
, into machine-readable and
network-routable IP addresses, e.g., 216.239.57.100
. DNS
is a distributed application in that there is no single computer that
holds translations for all possible hostnames. A domain registrar,
e.g., www.register.com, records
that the domain servers for the google.com domain are at particular IP
addresses. A user's local name server will query the name
servers for google.com to find the translation for the hostname
www.google.com
. Note that there is nothing magic about
"www"; it is merely a conventional name for a computer that runs a Web
server. The procedure for translating a hostname such as froogle.google.com
is the same as that applied for www
. Round robin
DNS was an early load-balancing technique in which multiple
computers at different IP addresses were configured to serve an
application; browsers asking the DNS servers to translate the site's
hostname would get different answers depending on when they asked,
thus spreading out the users among the multiple computers hosting the
application.
Historical Note: Lisp programmers forced to look at Perl code would usually say "if there were any justice in this world, the guys who wrote this would go to jail." In a rare case of Lisp programmers getting their wish, in 1995 Intel Corporation persuaded local authorities to send Randal Schwartz, author of Learning Perl (O'Reilly 2001), to the Big House for 90 days (plus 5 years of probation, 480 hours of community service, and $68,000 of "restitution" to Intel). Sadly, however, it seems that Schwartz's official crime was not corrupting young minds with Perl syntax and semantics. Most Unix sysadmins periodically run a program called "crack" that tries to guess user passwords. When crack is successful, the sysadmins send out email saying "your password has been cracked; please change it to something harder to guess." Obviously they do not need the passwords since they have root access to all the boxes and can read any of the data contained on them. At a university, you get paid about $50,000/year for doing this. In Oregon if you do this for a multi-billion-dollar company that has recently donated $100,000 to the local law enforcement authorities, you've committed a crime. See http://www.lightlink.com/spacenka/fors/ for more on State of Oregon v. Randal Schwartz.