What Is HostName ?

A name is a label that is used to distinguish one thing from another. A person’s name, for instance, comprises a set of alphabetic characters that allows a person to be individually addressed. Computers are also named to differentiate one machine from another and to allow for such activities as network communication.
Computers have always needed unique addresses to talk to each other. With the advent of the Internet, the requirements for enabling computers to communicate with each other on a network included the concept of the hostname. The hostname began as a simple string of alphanumeric characters (and possibly a hyphen) and has evolved to its current definition, where hostname means a Fully Qualified Domain Name (FQDN) that absolutely and uniquely identifies every computer hooked up to the Internet via the Domain Name Service (DNS) naming hierarchy.

The true “name” a computer needs in order to communicate on a network is actually a set of numbers. The original computers connected as the Internet used small integers as the host number. For TCP/IP, the main protocol used by the Internet, each computer has a network IP address that follows a specific set of rules to assure its uniqueness and validity. (Additionally, port numbers further specify the access points for particular services on a computer).

It has always been user friendly to associate a host name with a computer (while the computer maintained its internal numerical host number or network address). One of the initial Internet RFCs, “Standardization of Host Mnemonics” lists the table that associated host numbers with their corresponding host names for the first Internet computers. This table was kept in a file called HOST.TXT that was stored on every computer that wished to communicate.

While the original file was not so daunting at 20 entries, it became quickly apparent that this solution was not scalable or flexible enough as the number of host computers connected to the Internet exploded. In order to accommodate the problem of connecting all of the new computers being added to the Internet, a hierarchical database of host names was created called DNS. DNS associates host names with their IP addresses. A complete domain name (that is, an FQDN) includes the name of the host concatenated with its domain name. This naming convention allows for a hierarchy of domain names with the host name being the most specific (and “left-most”) part.

The rules for a host name were first standardized in the original host name specification, “DoD Internet Host Table Specification”. It states that the name should be a text string consisting of the letters A through Z (upper or lower case), digits 0 through 9, the minus sign (-), and the period (.). Note, the period is only allowed as the last character of the host name if it is the delimiter of the full domain name (FQDN). No spaces are permitted as part of a name. The first character must be an alphabetic character and the last character must not be a minus sign or period. It was also recommended that the host name be no longer than 24 characters in length. Subsequently, in "Requirements for Internet Hosts - Application and Support", the host name rules were updated. The first character could now be either a letter or a digit and software dealing with host names must handle names up to 63 characters in length.

In common usage today, hostname refers specifically to the FQDN that comprises the name of the host, a period, and the domain name. The domain name is composed of labels that begin with the top-level domain and are arranged right to left for the second and, possibly, third level labels. The host name and the domain labels are separated by periods. The total length of the hostname as an FQDN cannot exceed 255 character with each domain name label having a maximum length of 63 characters. For example, if a company’s domain name is “example.com.” and a particular computer in the company has been named “plato”, the hostname for that computer will be “plato.example.com.”. Note, that technically FQDNs end in a period to unambiguously define the hostname and to be sure that it is not part of a longer domain name. (although in common usage this final period is often omitted).

The exact rules for the new hostname definition that has evolved is also more rigorous than that of the related original host name specification. The DNS naming rules are explained in “Domain Names – Concepts and Facilities”, “Domain Names – Implementation and Specification”, and “Clarifications to the DNS Specification”.

To summarize, a hostname is a Fully Qualified Domain Name that uniquely and absolutely names a computer. It is composed of the host name and the domain name. The domain name in turn is one or more domain labels that place the computer in the DNS naming hierarchy. The host name and the domain name labels are separated by periods and the total length of the hostname cannot exceed 255 characters.

Now that the syntax of the name of the host as part of the hostname is understood, how does one choose a good name for their computer? Several web sites offer suggestions and the choice is up to the system administrator whose whimsy is only limited to the fact that no two computers in one domain space can have the same host name (because the two computers would have the same hostname!).

RFC 1178, “Choosing a Name for Your Computer” contains several guidelines on how to name—and how not to name—your computers.

A summary of sample guidelines for good host names:

Use words/names that are rarely used.
Use theme names.
Use real words.
Don't worry about reusing someone else's hostname.
There is always room for an exception.
And some sample guidelines for not so good host names:
Don't overload other terms already in common use.
Don't choose a name after a project unique to that machine.
Don't use your own name.
Don't use long names.
Avoid alternate spellings.
Avoid domain names.
Avoid domain-like names.
Don't use antagonistic or otherwise embarrassing names.
Don't use digits at the beginning of the name.
Don't use non-alphanumeric characters in a name.
Don't expect case to be preserved
As a final note, the terms “host name” and “hostname” are often used interchangeably, so be sure to clarify when the term is being used as to whether just the name of the host or the computer’s FQDN is being referenced. To see this on a Linux system, by example, the hostname command returns the FQDN while adding the –s option (i.e., hostname –s) returns just the name of the host.

What Is Proxy Server ?


A proxy server is a computer that offers a computer network service to allow clients to make indirect network connections to other network services. A client connects to the proxy server, then requests a connection, file, or other resource available on a different server. The proxy provides the resource either by connecting to the specified server or by serving it from a cache. In some cases, the proxy may alter the client's request or the server's response for various purposes.
Web proxies

A common proxy application is a caching Web proxy. This provides a nearby cache of Web pages and files available on remote Web servers, allowing local network clients to access them more quickly or reliably.

When it receives a request for a Web resource (specified by a URL), a caching proxy looks for the resulting URL in its local cache. If found, it returns the document immediately. Otherwise it fetches it from the remote server, returns it to the requester and saves a copy in the cache. The cache usually uses an expiry algorithm to remove documents from the cache, according to their age, size, and access history. Two simple cache algorithms are Least Recently Used (LRU) and Least Frequently Used (LFU). LRU removes the least-recently used documents, and LFU removes the least-frequently used documents.

Web proxies can also filter the content of Web pages served. Some censorware applications — which attempt to block offensive Web content — are implemented as Web proxies. Other web proxies reformat web pages for a specific purpose or audience; for example, Skweezer reformats web pages for cell phones and PDAs. Network operators can also deploy proxies to intercept computer viruses and other hostile content served from remote Web pages.

A special case of web proxies are "CGI proxies." These are web sites which allow a user to access a site through them. They generally use PHP or CGI to implement the proxying functionality. CGI proxies are frequently used to gain access to web sites blocked by corporate or school proxies. Since they also hide the user's own IP address from the web sites they access through the proxy, they are sometimes also used to gain a degree of anonymity.

You may see references to four different types of proxy servers:

Transparent Proxy - This type of proxy server identifies itself as a proxy server and also makes the original IP address available through the http headers. These are generally used for their ability to cache websites and do not effectively provide any anonymity to those who use them. However, the use of a transparent proxy will get you around simple IP bans. They are transparent in the terms that your IP address is exposed, not transparent in the terms that you do not know that you are using it (your system is not specifically configured to use it.)

Anonymous Proxy - This type of proxy server identifies itself as a proxy server, but does not make the original IP address available. This type of proxy server is detectable, but provides reasonable anonymity for most users.

Distorting Proxy - This type of proxy server identifies itself as a proxy server, but make an incorrect original IP address available through the http headers.

High Anonymity Proxy - This type of proxy server does not identify itself as a proxy server and does not make available the original IP address.