Apache http server allows a facility to run Virtual Host. Using virtual host you can host several different web sites simultaneously using separate DNS but from same server. Visitors for your site will not be able to distinguish whether your site is hosted on shared IP or on dedicated IP. Generally virtual host do not have unique IP address.

There are 2 types of virtual host
*) IP based : IP based virtual hosting allows you to host more than one website on same server with their own IP address. Here you need to have separate IP address for each host.
You can have as many host as you have IP addresses (nearly 254). SSL can be used under this type of hosting.

*) non-IP/name based : In name-based virtual hosting same IP address is used for different names. Here server relies on clients for hostname. Using this technique, many different host can share same IP address. You can host unlimited site under this hosting.
Configuring name based virtual is easy, you just have to configure your DNS server so as to map each hostname to correct IP address and then configure the Apache HTTP Server to recognize the different hostnames.
You cannot use Named-based hosting with SSL secure servers due to restriction of SSL protocol.