Virtual Hosting

Virtual hosting is defined as a way for hosting the multiple domain names with separate handling of every name on a single server or a pool of servers. This permits a single server to share its resources like the memory & processor cycles without any requirement of all the services offered to utilize the similar host name. The term virtual hosting is basically used as a reference to the web servers but the principles do carry over to the other internet services. One most widely utilized app is the shared web hosting. The shared web hosting costs are much less than the dedicated web server as many clients can be hosted on one server. It is also very common for one entity to need to use the multiple names on the same machine so that the names can reflect the services which are offered rather than the place where those services happen to be hosted.

There are two basic kinds of virtual hosting i.e. name based & IP based. The name based virtual host utilizes the host name which is presented by a client. This stores the IP address & the associated administrative overhead but the protocol which is being served should supply the host name at an appropriate point. Specifically, there are some major difficulties in using a name based virtual hosting with SSL or TLS. The IP based virtual hosting utilizes a different IP address for every host name & it can be performed with any protocol but needs a dedicated IP per domain name served. The port based virtual hosting is also available in principle but is very lowly used in practice as it is not friendly to the users.

The name based & IP based virtual hosting should be combined i.e. a server might have multiple IP address & serve the multiple names on all of these IP addresses. The technique can be utilized while using SSL or TLS with the wildcard certificates. A major issue with the name based virtual hosting is that it is hard to host the multiple protective sites which are running SSL or TLS. When an IP based virtual hosting is utilised, then each site points to a very unique IP address. A webserver is configured by using the multiple physical network interfaces, virtual network interfaces on a same physical interface and the multiple IP addresses on single interface.

The web server may either open the separate listening sockets for each IP address or it can hear on all the interfaces with one socket & obtain the IP address the TCP connection was received on after the connections were accepted. It can utilize the IP address to determine which site to serve. The customer is not involved in this process & therefore, there are no compatibility issues