|
Shared web hosting service
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (August 2008) |
A shared web hosting service or virtual hosting service or derive host refers to a web hosting service where many websites reside on one web server connected to the Internet. Each site "sits" on its own partition, or section/place on the server to keep it separate from other sites. This is generally the most economical option for hosting, as many people share the overall cost of server maintenance.
Contents
Description
The hosting service must include system administration since it is shared by many users; this is a benefit for users who do not want to deal with it, but a hindrance to power users who want more control. In general shared hosting will be inappropriate for users who require extensive software development outside what the hosting provider supports. Almost all applications intended to be on a standard web server work fine with a shared web hosting service. But on the other hand, shared hosting is cheaper than other types of hosting such as dedicated server hosting. Shared hosting usually has usage limits and most hosting providers have extensive reliability features in place. [1]
Shared hosting typically uses a web-based control panel system, such as cPanel, Ensim, DirectAdmin, Plesk, InterWorx, H-Sphere or one of many other control panel products. Most of the large hosting companies use their own custom developed control panel. Control panels and web interfaces can cause controversy however, since web hosting companies sometimes sell the right to use their control panel system to others. Attempting to recreate the functionality of a specific control panel is common, which leads to many lawsuits over patent infringement.[2]
In shared hosting, the provider is generally responsible for managing servers, installing server software, security updates, technical support, and other aspects of the service. Most servers are based on the Linux operating system and LAMP (software bundle), which is driven by the low cost of open source software. But some providers offer Microsoft Windows-based or FreeBSD-based solutions. For example, the Plesk and Ensim control panels are both available for two operating systems, Linux and Windows. Versions for either OS have very similar interfaces and functionality, with the exception of OS-specific differences (for example: ASP.NET, SQL Server and Access support under Windows; MySQL under Linux).
There are thousands of shared hosting providers in the United States alone. They range from mom-and-pop shops and small design firms to multi-million-dollar providers with hundreds of thousands of customers. A large portion of the shared web hosting market is driven through pay per click (PPC) advertising or Affiliate programs.
Shared web hosting can also be done privately by sharing the cost of running a server in a colocation centre; this is called cooperative hosting.
Implementation
Shared web hosting can be accomplished in two ways: name-based and IP-based, although some control panels allow a mix of name-based and IP-based on the one server.
Name-based
In name-based virtual hosting, also called shared IP hosting, the virtual hosts serve multiple hostnames on a single machine with a single IP address.
When a web browser requests a resource from a web server using HTTP/1.1 it includes the requested hostname as part of the request. The server uses this information to determine which web site to show the user.
IP-based
In IP-based virtual hosting, also called dedicated IP hosting, each virtual host has a different IP address. The web server is configured with multiple physical network interfaces, or virtual network interfaces on the same physical interface. The web server software uses the IP address the client connects to in order to determine which web site to show the user. The primary reason for a site to use a dedicated IP is to be able to use its own SSL certificate rather than a shared certificate.
Disadvantages
Name-based virtual hosts have some disadvantages:
- They do not properly support secure websites (HTTPS). All name-based virtual hosts using the same IP address must share the same digital certificate. This is because the SSL/TLS handshake takes place before the hostname is sent to the server. Thus the server doesn't know which encryption key to use when the connection is made. An extension to the TLS protocol, part of RFC 3546 - Transport Layer Security (TLS) Extensions, specifies a way for the client to provide the requested host name as part of the handshake, but it is not yet widely implemented. Some of the shared hosting providers require their customers to get Unique IP in order to properly set up HTTPS.
- If the Domain Name System is malfunctioning, it is harder to use a name-based virtually-hosted website. Ordinarily, in this case, the user could fall back to using the IP address to contact the system, as in http://192.0.2.0/ (invalid IP for example only). However, the web browser doesn't know what hostname to send to the server, but a name-based virtual host requires it. In this case, the default web host is sent back to the browser for that IP address. Therefore most hosters offer an alternative access method like http://192.0.2.0/~virtualhostname to provide access in such cases.
- They will not work with browsers that do not send the hostname as part of requests. This is true for older HTTP/1.0 browsers that have not retrofitted the host field feature from the HTTP/1.1 protocol. (The "Host" header that distinguishes between various DNS names sharing a single IP address was optional in HTTP/1.0; it is mandatory in HTTP/1.1, issued in 1999 as RFC 2616.) Since nearly every webbrowser that is currently used supports the HTTP/1.1 protocol and thus also virtual hosting, this is not a real issue.
- Improperly configured file permissions with shared file systems might give other (compromised) users or processes system-wide access to these files, such as credential files for database access or modification of existing files.