Internet Basics - URLs, protocols, EMail, Addresses, DNS names
Internet Robustness Principle
Be liberal in what you accept, and conservative in what you send.
Understanding a URL/URI
URL syntax for a Network (Internet-style) item:
Examples of common protocols in URL format:
Components of a Universal Resource Locator (URL):
- http: HyperText Transfer Protocol (standard Web pages)
- ftp: File Transfer Protocol (for downloading/uploading
- telnet: for direct terminal-to-terminal connections to
- gopher: a predecessor of HTTP, largely replaced by HTTP
- news: Network News Transfer Protocol (NNTP) for
Usenet-style discussion groups
- mailto: Simple Mail Transfer Protocol (SMTP) for sending
Note that the protocol and host name parts of a URL
or EMail address are not case-sensitive.
The remainder of the URL or EMail address may or may not be
Understanding an Internet E-Mail address
Syntax for an Internet email address:
Examples of EMail addresses:
Note that the host name part of an EMail address is not
The user_id part of the EMail address may or may not be
Computer Addresses and Names
Machines connect with each other on the Internet using IP numbers, not
the names that humans are accustomed to using.
(Computers always prefer using numbers to names!)
These numbers are called "IP" (Internet Protocol) numbers.
IP numbers are 32-bits long in the current (obsolete) IPv4 Internet and usually
look like this when written in human-readable, "dotted-quad" form:
127.0.0.1, 126.96.36.199, 255.255.255.255.
Each of the four numbers in a dotted-quad represents eight bits in the 32
bit address. (Hence, the maximum value for any number is 255.)
These 32-bit IP addresses are transmitted in the various Internet Protocols in
Big-Endian form: the Most Significant Byte is sent first.
IP numbers are 128-bits long in the new IPv6 Internet and usually look
like this when written in human-readable (32-digit hexadecimal) form:
To establish a connection between the machines, the friendly,
human-readable names such as example.com must be turned into IP
numbers, 188.8.131.52 or C000200Ah, for use by the computer.
Tables of these name-to-number maps typically reside on computers that serve as
Domain Name Servers (DNS).
These DNS Servers translate human-readable names to IP numbers.
Computer names in the DNS are hierarchical, separated by periods, with
the most specific components on the left and the most general, large
domains on the right, e.g. "news.idallen.com".
There is no fixed limit to the depth of the hierarchy; however, more than
four levels is uncommon.
- There are a limited number of "top level" domains, e.g. .gov,
.edu, .com, .org, .name, .biz, .ca, .hu, .jp, .us, etc.
Many of these are reserved for exclusive use by the USA.
Recent (2011) changes by ICANN are allowing
more top-level domains.
- Each domain gets control of the naming scheme used inside it and can
use any naming convention it likes, e.g. .com.au, .edu.au, .net.au, etc.
- Name servers only need to know how to find the name servers of the
next level in the name tree - no server needs to know the whole tree.
IP numbers are also hierarchical; however, the most specific parts of the
IP number are on the right, and the most general, large network components
are on the left, e.g. "184.108.40.206". The IP numbers
for the IPV4 Internet written this way are often said to be in
"dotted quad" or "dotted decimal" form.
Two machines on the same network will have numbers that differ only in
the rightmost bits, such as 220.127.116.11
Their DNS names might be freenet1.carleton.ca
and freenet4.carleton.ca, though there is no reason for
the names to be similar or even owned by the same people.
Just because two machines are on the same IP network does not mean that
their DNS names must be related (though they usually are).
Conversely, just because two DNS names appear to be related does not
mean that their IP addresses are similar (though they often are).
DNS - Domain Name Servers
Name servers "cache" name requests for a period of time (the
TTL or "time to live"). Subsequent requests for the same name are
served from the cache until the entry expires, then a fresh request is made
to update the cache.
Adding or changing a DNS name can take several days to propagate
through all the caches in the Internet.
Naturally, since you need a working DNS server to resolve a host name
to an IP address, you must know and specify the actual IP addresses of
any DNS servers you want your computer to use. (If you used a
name for your DNS, how would your computer turn that name into an IP
address to contact the DNS to resolve its own name?)