I'm trying to understand how home web servers work? Don't you need an IP to access it over the internet? Do you need to buy an IP before you can access your web server from anywhere?

Or could someone please give a resource that explains why you don't need an IP?


You dont NEED a static IP, but it makes the whole process so much easier:

I run several web servers at home, I have a type of ADSL internet connection setup called "No NAT" (No Network address translation) this allows me to have several internet facing static IP's (in my case I have 8 IPs, free with the connection)

I have my main ADSL Router (a Cisco one) set up as the main connection, this has its own internet IP, into that i connect my servers, all of which are directly addressable from the internet. I also have an internal (normal with NAT) network router plugged into that for my home PC, laptop etc so that they are not exposed directly to the net.

Ok so you have your server plumbed in and set up, now you need a server application, in windows this is called IIS (Internet Information Services), or in Linux, it is generally Apache.

When you buy a domain name you do not need to buy a hosting package with it, you just buy the domain, and set the A record in its DNS settings to the IP address of your server.

When a computer on the net looks for a web page it asks its DNS (Domain name server) what IP that domain name is tied to (your server IP) and the browser then asks your server directly for that web content.

Your server (if correctly set up) replies with the website.


If you want to publish your content to internet, yes you have to have a static IP. Then if you want to use a domain, you can "tie" your domain to your static IP. If your IP is dynamic, then you have to change your domain's IP whenever your IP changed, whcih is not a real and meaningful solution. But that is done by a service like DynDNS. You may check it if you don't want to buy a static IP.

Not the answer you're looking for? Browse other questions tagged or ask your own question.