It is possible (using HTTP/1.1) to have several websites served on the same IP address and port and still differentiate them based on the host name.
This should be done at the web server configuration level.
Microsoft IIS
IIS uses the so called “Host Headers”. It is straightforward to set up, you may want to look into these articles:0
- Use Host Header Names to Host Multiple Sites from One IP Address in IIS 5.0
- Setting Host Headers in IIS 6.0
Apache
More complex and versatile, you should check: Apache’s Name-based Virtual Host Support.