Usually a single machine placed in a private residence can be used to host one or more web sites from a usually consumer-grade broadband connection. These can be purpose-built machines or more commonly old PCs. Some ISPs actively attempt to block home servers by disallowing incoming requests to TCP port 80 of the user's connection and by refusing to provide static IP addresses. A common way to attain a reliable DNS host name is by creating an account with a dynamic DNS service. A dynamic DNS service will automatically change the IP address that a URL points to when the IP address changes.
A customer needs to evaluate the requirements of the application to choose what kind of hosting to use. Such considerations include database server software, scripting software, and operating system. Most hosting providers provide Linux-based web hosting which offers a wide range of different software. A typical configuration for a Linux server is the LAMP platform: Linux, Apache, MySQL, and PHP/Perl/Python. The web hosting client may want to have other services, such as email for their business domain, databases or multimedia services. A customer may also choose Windows as the hosting platform. The customer still can choose from Perl, PHP, Python, and Ruby, but the customer may also use ASP.NET or ASP Classic. Web hosting packages often include a web content management system, so the end-user does not have to worry about the more technical aspects.
Until 1991, the Internet was restricted to use only "...for research and education in the sciences and engineering..." and was used for email, telnet, FTP and USENET traffic—but only a tiny number of web pages. The World Wide Web protocols had only just been written and not until the end of 1993 would there be a graphical web browser for Mac or Windows computers. Even after there was some opening up of internet access, the situation was confused until 1995.
Domain names are created to make IP addresses easy to remember. Every computer has an IP address assigned to it - much like a street address. But instead of having to memorize each IP address number, we assign domain names to these numbers so we can easily remember them. The domain name system, or DNS, takes domain names and translates them into their IP addresses so that computers can communicate with one another.