What is web hosting?
The web pages you look at on your computer's web browser come from
servers—different computers all over the world that do nothing all
day but send HTML text pages, images, sound files and all the rest on
demand. Most of the time you don't need to worry about the
behind-the-scences, technical details: when you type search queries
into Google.com, you don't care whether it's serving you search
results from computers in California, Frankfurt, Dublin, or Mumbai.
But when you're running your own site, understanding how websites
actually work, behind the scenes, is a bit more important.
When you set up a website, you're going to need a server: a computer designed
to hold web pages and send them out to people on demand. But a server
is generally a huge, powerful, and expensive machine and, unless
you're running a big corporation or a massive e-commerce operation
like Amazon.com, you probably won't need a whole server all to
yourself. You can get by with what we call a virtual server:
effectively, a directory (folder) of your own on a server shared with other people.
When you order a hosting package, you're buying the ability to locate
some of your files on an ISP's (Internet Service Provider's) server.
They'll give you an address where you can find your files, along the
lines www.123456.my-internet-service-provider.com.
All you need to do then is buy yourself a domain name (like
www.example.com) and point it at your hosting address so
anyone typing www.example.com
into their browser will see the files located at
www.123456.my-internet-service-provider.com
without knowing that's where they're coming from. Sounds easy enough,
so how do you go about it in practice?
Domain names and web hosting are separate things—but you can buy them together
The first thing you need to know is that your hosting package and your domain
name are two entirely separate things. You can buy yourself a domain
from one company, buy yourself some hosting from another company, and
simply link the two things together. If you buy domain name and
hosting from the same company, you can generally do it in one of two
ways. With some companies, you put in two separate orders (one for
the domain name and one for the hosting) and let the company link the
two things together for you. With other firms, you order a single,
simple hosting package that includes a domain name in the basic
charge. The company then sorts out the connection between the domain
name and the hosting without your having to worry about it.
How are domain names linked to web hosting packages?
If you've read our article on how the Internet works, you'll know that, behind
the scenes, all the computers online at any given time communicate
with one another through IP (Internet protocol) addresses
(such as 12.34.56.78). When you send an email, it's routed from your
computer to its destination using these numbers, just as telephone
calls are routed using telephone numbers. Similarly, when you type an
address like www.google.com
into your browser, your ISP uses IP addresses to connect your machine
to Google.com. Being essentially number-processing machines,
computers can obviously handle the system of IP addresses very well.
But it's hard for humans to remember sequences of eight-digit
numbers. So we generally use more memorable names for websites
(www.example.com
and www.google.com)
and email addresses (fred@example.com
or whatever) and let our computers figure out which IP addresses they
match up to.
The system that matches friendly domain names to numeric IP addresses is called
DNS (domain name system). It's effectively a
database, but it doesn't live in one place: it's "distributed" across the Internet
in a very clever fashion and regularly updates itself so all the Web's computers know where
to route traffic destined for example.com, google.com, and every other active domain. When you buy yourself a
domain name and a web hosting package, your ISP will add entries to
DNS called A records that link the two together. If you ever decide to move your
hosting to another company, you'll need to have these DNS entries
changed to route your web traffic to the new location. You don't need
to know exactly how DNS works,
but you do need to be aware of its existence—for reasons we'll come on to later.
What are registrars?
Just to make life a bit more complex, there are two different kinds of
company dealing in domain names. The big, important domains (such as
.com, .net, .org and so on) are called top-level domains
(TLDs) and are managed by a few dozen accredited companies known as
registrars (accredited by ICANN, Internet Corporation for
Assigned Names and Numbers, the nonprofit, US-based company that
manages the Internet-naming system worldwide). Some of the best-known
registrars include GoDaddy, Melbourne IT, Network Solutions,
Tucows, and VeriSign—though there's a whole
list of accredited registrars
and many of them operate worldwide. Other companies can sell
top-level domain names to you, but they will have to buy the name
from a registrar on your behalf. The registrars charge a fee for the
registration service that will keep your domain name active for
(typically) one year, two years, five years, or ten years, after
which you'll have to pay the fee again to renew. Unless you're buying
your domain name direct from one of these companies, you generally
won't have anything much to do with the registrar—the registration
process will be handled entirely by the domain-name company you're
using. Typically, the domain-name company will notify you when your
domain name is about to expire and check that you wish to renew your
domain. If you agree, they pay the registration fee to the registrar
and your domain name is renewed.
What is WHOIS?
You own your domain name, not your hosting company or your registrar: they
are simply agents working on your behalf. Details of who owns which
domains are stored on a huge database called WHOIS. You can check the
ownership details for any domain by going to one of the registrar's
websites, clicking on WHOIS, and searching for the domain that
interests you. (Note that some people choose to withhold their
registration details from public view using an option called "domain
privacy." This is a simple safeguard against spamming, identity
theft, and similarly irritating problems caused by making your details public.)
Generally you or your agent (perhaps a web designer working for you) will be listed as the
administrative contact for your domain, while your hosting
company will be listed as the technical contact. Make sure
these details are correct: it's a requirement of the hosting contract
with a registrar, but it also means you will be correctly notified if your
domain is about to expire or if there are registration problems of
other kinds. (Having incorrect email addresses listed can also cause problems when
you try to transfer domains.)
Managed hosting or shared hosting?
Web hosting generally falls into two categories called managed web hosting
and shared web hosting. Managed hosting means a company
manages your entire web-hosting needs on your behalf, sometimes on
your own server. Typically, managed hosting is used by large
companies and people who need very high website availability. It's
expensive (typically the monthly cost is 10-100 times more than
shared hosting) and it usually comes with a service-level
agreement (SLA) guaranteeing a minimum percentage of
availability, maximum amount of downtime, maximum server response
time, or whatever other factors you mutually agree to be important.
If you're an individual, a family, or a small company, you're more likely to
want shared hosting. Lots of different people all use the same
server, so shared hosting is much less expensive. The downside is that if
you're sharing the server with other bandwidth-hungry websites, they can affect
site's performance. Also, it's unlikely your server will be monitored as
closely as a maintained server or have faults corrected as quickly.
If you're not a web-savvy sort of person, you might be buying a complete website
package from a web design company. For an all-in-one fee, they'll design
your site, manage updates for you, order the domain name, and
organize the hosting. In effect, they'll do everything for you—a bit
like a managed hosting company—but chances are they will still use a
low-cost, shared hosting package to host your site. So you may think
you have managed hosting, but your website may actually be on a
shared system.
One final complication: some companies offer what they call managed-shared
hosting, which is essentially shared hosting with a little bit more
technical support for which you pay a proportionally higher fee.
Windows or Linux hosting?
In the simple world of desktop PCs, most people still use Windows-based
computers, though machines running the free, open-source Linux system
are increasingly common. In the world of Web servers, things are the
other way around. Roughly half of all sites are hosted with
open-source web-server software called Apache on machines
running Linux (or a similar operating system); less than a third of
sites run on the proprietary Microsoft IIS (Internet Information
Services) server software. When you're buying web hosting, you will
need to decide which of these options to choose. Many web hosting
companies offer exclusively Linux or Windows hosting, but some do
give you a choice. Does it matter? Generally, you can do similar
things with both systems, though using different software packages.
For example, with an Apache-based system, you can build web pages "on
the fly" from databases using a program called PHP; with Microsoft
IIS, you use a rival program called ASP. Many people consider Linux
and Apache a less expensive and more secure system, but consider and
weigh up the arguments for yourself. You'll find volumes written
about the pros and cons of Apache and IIS if you Google something
like "apache iis comparison".
How to choose a hosting company?
The big problem with choosing hosting is that you don't know how well a given
company is going to perform until you try them out. How much downtime
are you going to have to suffer? How fast will your pages load? If
the system goes down, how quickly will it come back up again? How
good are the technical support people at helping with your problems?
Do whatever research you can before you commit yourself. Look out for hosting
companies that consistently win awards or garner good recommendations
on review sites, but read the posts critically to be sure you're not
falling for guff posted by a company's PR department in the name of
some dummy customer—and remember the handful of moaning minnies always
outnumber the happy customers by thousands to one.
Companies that publish full details of their
system status and uptime/downtime on their website are generally a
much better bet than ones who don't. If you've got a whole series of
sites to host, you could always try a small website on a new hosting
company and see how they perform. Generally speaking, hosting
contracts run for either one month or one year; there's nothing to
stop you relocating your hosting to another company by transferring
your domain and hosting to another provider (we'll come on to that
next), but you may have to pay for the rest of your contract if you
leave before the minimum term has expired.
Why should you go for one hosting company rather than another? Ideally, these
are the factors you need to know and compare—though not all of them
will be easy to discover. I've marked with an asterisk the ones that matter
most to me; your needs may be different, though:
* Cost of the package?
Remember that cost is not an absolute but a price
you're paying for a certain amount of bandwidth, taking into account
availability, and so on.
* How good is availability (uptime/downtime)?
Remember that an impressive-sounding "99% availability"
translates to about 7-8 hours of downtime a month, which could be a
whole day of downtime. If you opt for a cheap hosting package with
relatively poor availability, a whole day's loss of e-commerce
orders or advertising revenue can work out very expensive
indeed—far more than what you think you're saving on your hosting
costs! If you're running a company where people are critically
dependent on their email systems, a day's email downtime can be a
massive nuisance. How much does it cost you if you have ten people
locked out of their email for a day or if you lose a deal because
one email can't be sent or received on time?
* How good is performance (server load/page speed)?
This is very difficult to gauge before you commit yourself to hosting
and see your site in operation. If the shared servers hosting your site are
very heavily loaded, your pages will load slowly—and that can quickly drive customers,
advertisers, or readers away. Free and cheap web hosting often suffers
from this problem. Ideally, you want hosting that gives you pages
loading instantly, every single time. If you can determine which sites
are hosted by companies whose hosting you're thinking about ordering you can,
in theory, get some idea of their server performance—assuming all
their sites are served at the same speed! Google around and see
if you can find any existing customers by searching for things like "This site is hosted by blahblahhosting.com."
Don't forget that you can always ask the prospective hosting company to name some satisfied customers.
* How much bandwidth do you get?
This is the amount of web traffic (in gigabytes) that your provider
will serve up for you each month. This is much more important
than disk space and usually determines which level of hosting
package you'll need to order with a particular hosting company.
Generally, hosting packages start off at 1GB per month and go upward
from there to hundreds of gigabytes per month. Some companies will
turn off your hosting if you exceed your bandwidth, but most either
contact you to make you buy a more expensive hosting package or
charge you for the extra bandwidth you use. The latter system is
often best, since your bandwidth requirements (though generally
always increasing) may vary quite considerably at different times of
the year. It's a good idea to know your maximum bandwidth before you
order a new hosting package. If you're setting up a new site, always
order the minimum package for starters and expand as you need to.
* How good is the technical support?
Depending on how complex your site is, and how
technically clued-up you are, this may or may not be important to
you. If your sites are a few simple HTML pages and sit quietly on
their servers needing little or no human intervention, technical support
won't usually be a big issue. If you want to do unusual things with
Apache .htaccess files and DNS entries, you may well need tech
support people to help you (or advise you) from time to time. Do
they know their stuff? Remember there's nothing to stop you checking
the quality of tech support by asking them some techie questions
before you give them your hosting business. Find out the
tech-support phone number from the company's website and ring up
with a couple of your favorite tricky questions. How fast do they
answer the phone? Do they sound like they know the answers? Are they
relatively unqualified junior people who seem to read answers from
scripts and "escalate" your problem
to unseen people in the background? Do you get the impression your
website—and potentially a big part of your livelihood—is going to be in good hands?
* Do you get statistics?
Decent web hosting packages will give you full statistical analysis of your visitors
using packages such as AWStats or
Webalizer, which is very handy for helping you to grow a site.
It's not the end of the world if you don't get statistics, because you can always use javascript counters on your pages
and services such as Google Analytics or Statcounter.
Linux or Windows hosting?
Generally, this would be of most concern if you were going to run database applications or if you were worried about
Microsoft security issues. But some of us just prefer Linux or Windows because that's what we're used to.
How much disk space?
Buying hosting means buying a certain amount of disk space on
a server, so you'll be able to upload so many gigabytes of files.
Generally speaking, disk quotas are generous and difficult to exceed
so, unless you have unusual requirements (say, you're a photographic
library with lots of big hi-res photos to store), this isn't usually
an important factor in choosing one hosting provider over another.
Can you host multiple domains?
If you're a web developer and you're running
multiple sites, it's much more cost effective to buy one big hosting
package and point numerous different domain names at different
directories within it than to buy lots of little combined
domain-and-hosting packages. Each hosting package will have a
bandwidth limit, so you could easily find yourself paying for a huge
amount of unused bandwidth. Bear this in mind if you have lost of
sites to host. If you anticipate setting up more sites in future,
check if you can add extra domains to your hosting package later.
How long is the contract?
Generally either one month or one year.
Any charge for transferring domains away?
In my view, no decent hosting company charges you to transfer a domain away from them, so don't switch
your business to any that do. You may regret it if their hosting
turns out to be erratic and unreliable.
What else is included?
If you're using PHP or ASP, you'll need database
support. Is that included in the price? Can you set up subdomains
(http://mysubdomain.example.com) without an extra fee? Can you set up and
fiddle about with your own .htaccess file? Can you set up and run
whatever CGI scripts you please or are there restrictions?
Another thing worth checking is whether any free software packages come with your hosting package. For example,
Linux web hosting provided through a hosting admin interface called
cPanel often comes up with a range of easy-to-install add-in
packages bundled together into something called Fantastico. If your
hosting provider gives you Fantastico for free, you're probably
getting web content management software, bulletin boards, shopping
carts, and other software as part of your basic hosting deal.
But since most of these packages are open-source anyway, that
may not be the benefit it appears. And if your Fantastico system
contains out-of-date packages without the latest bug fixes and security updates
(as some of them do), it's positively a disbenefit.
What about email?
Apart from hosting a website, a domain name gives you the ability to receive
emails addressed to users at that domain. Exactly how you set up the
email for a domain depends on your hosting company, but typically
they will set up extra DNS entries for your domain known as MX (Mail
Exchange) records to do one of three things. They can arrange for
emails addressed to your domain to redirect automatically to some
other email address or domain. Or they can route emails for your
domain into their own POP (Post-Office-Protocol) mail server,
allowing you to read the emails by using an ordinary email program
(like Thunderbird or Outlook Express) and maybe a web-based email
system as well. Or they'll store your emails on the same server as
your web space, again, allowing you to read them using an ordinary
email program. Generally, shared web hosting packages allow you a
fixed number of (typically 10-100) email accounts (with separate inboxes
that can store mails till you read them) and an unlimited number of
email aliases (where emails for users at your domain are simply
forwarded on to existing web addresses at other domains).
Growing your domain
Most hosting providers offer a range of different shared hosting packages providing an increasing amount of
bandwidth, disk space, and other benefits for a range of monthly fees. As your website becomes more
popular, simply ask to move to a bigger package. But be warned: some companies price their
basic packages very cheaply to "hook you in" and charge you proportionally more for
bigger packages later on. Keep an eye on what other hosting companies are charging,
and if you're not happy you're getting a good deal think about transfering your domain
and hosting elsewhere.
How to transfer a domain
Even if you find a good hosting company, your needs may change in time as your
website becomes more popular or your business grows. Eventually, you may decide you want to move your site to another hosting provider.
Generally speaking, you'll transfer both the domain name and the
hosting package to another company at the same time, though it may be possible just to
transfer the hosting part if you prefer. Transferring a domain can be
a bureaucratic process, but you should be able to switch over
completely from one provider to another in less a couple of weeks. If
both companies are cooperative and everything goes to plan, you
should be able to make a totally seamless switchover—so
you lose no traffic and your users are completely unaware that anything has changed.
Here's how to transfer a domain:
- Make sure the WHOIS information for your domain is up-to-date before you initiate a transfer. In particular,
make sure you (or your trusted agent) are listed correctly as the administrative contact with the
correct email address.
- You can transfer a domain at any time, but DO NOT wait until the last
few days before a domain is about to expire with your current
provider before starting the transfer. For a seamless switchover,
you need to have both your old and new web hosting packages working
simultaneously for a period of about a week (for reasons that will
become clear in a moment). So start the transfer process maybe 2-3
weeks before your domain expires. If you wait till the last moment,
your old hosting contract may expire before you can fully switch all
your traffic over and, if that happens, you're losing traffic
and possibly orders or advertising revenue. Some of your users may see a
"Website not found" or "Domain parked" message for several
days. There's a very real risk people will delete links to
your site (if they think it's become inactive) and you could disappear from search engines
or lose some of your page ranking.
- If you're transferring a top-level domain, find out the name of the
registrar your new company will use. If it's a different registrar
than your current company is using, you will need to go through a
process of changing the registrars, which typically takes up to a
week. First, you contact your current hosting provider, ask for the
domain to be unlocked, and request what is called an authorization
code (or "auth code"). Next you put in an order for the
domain with your new provider, specify that you already own the
domain, and supply the auth code. The exact process varies according
to the registrars involved but, usually, the current registrar will
email the domain's administrative contact (usually you) requesting permission to
transfer the domain. If permission is granted, the transfer proceeds
from one registrar to the other, but usually not for 3-5 days. If
your new and current hosting companies use the same registrar, you
don't need an "auth code." Instead, you will need to request a
registry key from your current company and supply it to your
new company.
- If you've not already done so, order your web hosting package from the
new company. Upload all your files and make sure everything is in
place. At this point, you have two copies of your website being
hosted—one on the old hosting provider (and still being pointed to
by your domain's DNS settings) and one on the new hosting system
(not being pointed to by anything, but probably accessible through a
placeholder URL such as www.123456.my-internet-service-provider.com.
If you know the placeholder URL, zip through your website and make
sure everything's working OK. Have you uploaded all files correctly?
Is everything as it should be?
- The new registrar should copy across the current DNS and WHOIS settings
for your domain so, even though your new files are in place on the
new system, your site is still being "served up" from your old
hosting provider. Contact the tech-support people who manage DNS for
your new company and ask them to switch the DNS settings over to
point your domain to the files on their system (that is, point your domain to www.123456.my-internet-service-provider.com).
- Because of the decentralized way DNS works, changes to DNS settings take
time to come into effect across the entire Internet. Typically, it
will take about 2-3 days (sometimes longer) for the entire Internet to be using new DNS
settings after they've been changed. During this time, you must keep
both your hosting packages active (your old one and your new
one) if you want the transfer to appear seamless. You can find out
far how the DNS changes have "propagated" using
whatsmydns
and a variety of other, web-based DNS tools.
Remember that what you see in your browser is
not necessarily what other people are seeing elsewhere: your site
may be serving up from the old provider for you, but happily serving
from the new site for other people—and vice-versa.
Just because you can see the files from your new host, doesn't mean everyone else
can. So be patient, try not to fret, and leave both the old and new hosting packages
in place.
- After a week or so, it should be safe to cancel your old hosting package.
You can either delete your files or leave them in place to catch any
strangling traffic that may still be routing to your old address.
If you have difficulties moving hosting company, there are usually ways of
initiating a transfer direct through a registrar at an extra cost.
Generally speaking, approach your hosting company first and, if that
proves problematic, contact your registrar afterward. Look at the
registrar's website under "dispute resolution" (or similar
wording) for details of what to do next.