Virtual Servers Explained
Virtual hosting is a method that servers use to host more than one domain name on the same computer, sometimes on the same IP address.
Virtual web hosting is by companies to provide low cost website hosting for customers. The vast majority of such web hosting service customer websites worldwide are hosted on shared servers, using virtual hosting technology.
There are two basic methods of accomplishing virtual hosting: name-based, and IP address or ip-based.
Name-based
Name-based virtual hosts use multiple host names for the same webserver IP address.
Upon connecting to a webserver, the browsers send the address that the user typed into their browser's address bar (the URL). The server can use this information to determine which web site, as well as page, to show the user. The browser specifies the address by setting the Host HTTP header with the host specified by the user.
For instance, a server could be receiving requests for two domains, www.site1.com and www.site2.com, both of which resolve to the same IP address. For www.site1.com, the server would send the HTML file from the directory /var/www/user/Joe/site/, while requests for www.site2.com would make the server serve pages from /var/www/user/Mary/site/.
Pros
Virtual hosting technology reduces management and administrative overhead and the number of separate servers required to support the business.
Cons
An issue with virtual hosting is the inability to host multiple secure websites running Secure Sockets Layer or SSL.
IP-based
In IP-based virtual hosting, each site (either a DNS hostname or a group of DNS hostnames that act the same) points to a unique IP address. The webserver is configured with multiple physical network interfaces, virtual network interfaces on the same physical interface or multiple IP addresses on one interface.
The webserver can obtain the address the TCP connection was intended for using a standard api and uses this to determine which website to serve. The client is not involved in this process and therefore (unlike with name based virtual hosting) there are no compatibility issues.
Cons
The server needs a different IP address for every web site which means higher costs of web site hosting and leads to the IP address exhaustion.
Uses
Drilling Down
A Virtual Private Server (VPS) is a simulation of hardware by a host operating system that allows another operating system to run on it. What that means for Web developers is that a Web hosting company can host multiple "Virtual" accounts on one physical server.
Each virtual account is isolated from the others, and access to hardware resources (RAM, CPU, Disk Space, Network throughput) is managed by the physical server. So, for instance, a server may have 2GB RAM, 100GB of disk space, and 2 x 2GHz processors, with 10 VPS accounts on it. Depending on the VPS software that's used on the host machine, each VPS can either share hardware resources, or have guaranteed access to 200MB RAM, a disk space limit of 10GB, and an effective CPU of 400Mhz. Now, this is a slight oversimplification, but it gives you an idea of a potential VPS scenario.
Most VPS plans are hosted on either Linux or FreeBSD, but they do also exist in the Windows world. The costs of Windows VPS plans tend to be significantly more expensive than their Linux counterparts, but that's not to say they're not suitable in specific situations.
|