Shared web hosting service
A shared web hosting service or
virtual hosting service is a form of web
hosting service where more than one instance
of the same web service is hosted on a single physical
server. This is generally the most economical option for
hosting as many people share the overall cost of server
The hosting service must include system administration
since it is shared by many users; this is a benefit for
users that do not want to deal with it, but a hindrance
to power users that want more control.
Shared hosting typically uses a web-based control panel
system, such as cPanel, DirectAdmin, Plesk, Helm, H-sphere,
Ensim, Sphera or one of many other control panel products.
Control panels and web interfaces have been causing some
controversy lately as Web.com claims that it holds patent
rights to the hosting technology with its' 19 patents.
Hostopia, a large wholesale host, recently purchased a
license to use that technology from web.com for 10% of
retail revenues. Web.com recently sued Godaddy as well
for similar patent infringement .
In shared hosting, the provider is generally responsible
for management of servers, installation of server software,
security updates and other aspects of the service. The
majority of servers are based on the Linux operating systems,
however, some providers offer Microsoft Windows or FreeBSD
based solutions. The Plesk and Ensim control panels, for
instance, both have two versions - for Linux and Windows,
both with very similar interfaces and functionality, with
the exception of OS-specific differences (for example,
supporting ASP.NET, or Microsoft SQL Server on Windows).
There are thousands of shared hosting providers in the
United States alone. They range from mom-and-pop shops,
to 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 advertising (PPC) 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.
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.
In name-based virtual hosting, also called
shared IP hosting, the virtual hosts
serve multiple hostnames on a single machine with a single
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.
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.
Name-based virtual hosts have some disadvantages:
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.
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.
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://127.0.0.1/
(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.