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.
The availability of a website is measured by the percentage of a year in which the website is publicly accessible and reachable via the Internet. This is different from measuring the uptime of a system. Uptime refers to the system itself being online. Uptime does not take into account being able to reach it as in the event of a network outage. A hosting provider's Service Level Agreement (SLA) may include a certain amount of scheduled downtime per year in order to perform maintenance on the systems. This scheduled downtime is often excluded from the SLA timeframe, and needs to be subtracted from the Total Time when availability is calculated. Depending on the wording of an SLA, if the availability of a system drops below that in the signed SLA, a hosting provider often will provide a partial refund for time lost. How downtime is determined changes from provider to provider, therefore reading the SLA is imperative. Not all providers release uptime statistics. Most hosting providers will guarantee at least 99.9% uptime which will allow for 43m of downtime per month, or 8h 45m of downtime per year.
A complex site calls for a more comprehensive package that provides database support and application development platforms (e.g. ASP.NET, ColdFusion, Java EE, Perl/Plack, PHP or Ruby on Rails). These facilities allow customers to write or install scripts for applications like forums and content management. Also, Secure Sockets Layer (SSL) is typically used for websites that wish to keep the data transmitted more secure.