After you have built your website, an important decision that you need to make is where to host it. You must take adequate care in zeroing down on your choice of hosting company - especially in terms of quality of server, quality of support and optimal cost to you. A wrong choice can end up with you buying a bad host, causing your website to be frequently down. It can be a tedious task to change your web host and move your website from one server to another. For non-techies this can be a nightmare, especially if yours is more than a website. For instance moving an e-commerce website from one host to another can be quite a tedious process.
Read on to understand the nuances of hosting and become equipped to make a better decision when choosing a web host for your website(s).
Essentially, hosting is a service where a hosting company provides storage and computing resources to enable you store and maintain (i.e. host) one or more of your websites or web applications on an Internet server. The primary objective is to make them globally accessible from the Internet. They ensure that the server is always up and running, and website data (text, photos, and other files) is transferred seamlessly & securely to the visitors’ browsers. When Internet users want to view your website, all they need to do is type your website address (essentially your domain name) in the address box of their web browser. Their computer will then connect to the internet server where your website is hosted, and your web pages will be delivered to them in their browser.
The hosting company would normally rent a hosting infrastructure in a data center. A hosting infrastructure comprises a number of specially configured computers (called web servers or simply servers) which are connected to each other in a network and connected to the Internet through very high speed lines (of the order of Gigabits per second or Terabits per second). These servers look like black boxes and do not have a display monitor & keyboard (they are managed via remote computers). Each of these servers is pre-installed with all required software to enable hosting websites and web applications. So, in essence, your hosting service provider provides you the hardware, storage, operating system, web server & other software, security framework, and network as a package. Their infrastructure enables deploying websites and serving the deployed websites over the Internet.
Each server has a unique IP address. Some servers may have more than 1 IP address, where some of the hosted websites are each provided a unique IP address. Each server hosts a number of websites, where each website is identified by a unique domain name (often referred as - fully qualified domain name - FQDN).
Customers are provided a choice of various hosting plans. The plans fundamentally differ in the amount of storage, CPU, memory & network bandwidth resources allocated. Buyers can buy a specific plan as per their requirement so that they pay only for the amount of resource they expect to use. Usually, one plan for each website is provided. However, plans that allow hosting multiple websites in one plan are also available. After you purchase a plan you are provided with login credentials to access a hosting control panel with the help of which you can upload your website files, setup databases, create email accounts, etc.
Hosting Service refers to a service that provides hosting space, i.e. facilitates an individual or a company to make their website accessible to anyone connected to the Internet. In this context, the term "website" refers to a website, a blog, or any web based application which could even be as complex as an online erp system. Hosting companies, often referred to as hosting service providers, or web hosts for short, maintain a set of computers, known as web servers, housed in a data center. The web host buys or rents the servers from a data center, sets up a web address for the servers, and charges their clients a monthly or yearly rental fee for using space on their servers. These web servers are connected to the internet 24x7 and are equipped with all the necessary hardware and software that enables them to serve websites to internet users efficiently and securely.
A website that has to be made accessible to the internet community will normally consist of a set of text files, scripts, and images that are stored in suitably configured directories on the web server. Dynamic and interactive websites may also have a backend database running, from which the website scripts will store and retrieve data.
To enable the website owner to utilize the complex hosting platform, hosting companies usually provide a user-friendly interface known as control panel - examples are cPanel, Plesk, and Helm. These control panels are third- party software that is installed on the web server and provide all required interfaces to enable website owners and developers to upload and install their web pages and applications, setup database, and also setup their email accounts. Web hosts also provide for an ftp server and grant you access to directly upload your website files onto your hosting space using any standard freely available ftp client such as Filezilla, AceFTP, WinSCP, and many more.
CPanel and Plesk are the two most popular types of Control panels provided by hosting companies to their customers so that the latter can access their hosting account to carry out various hosting related tasks and manage their website files, databases and email accounts. CPanel is provided on Linux hosting platforms and Plesk is normally provided on windows hosting platforms.
Some web hosts provide their own in-house developed control panel. The type of control panel you will get would depend largely upon the type of hosting service and other associated services that you have purchased in a bundle. Web hosts usually try to provide a control panel that will be easier for you to use and that will provide you with facility to manage all aspects of your purchased package from a single interface. However, due to the popularity of CPanel and Plesk and the familiarity of customers with these control panels, hosting companies often provide these control panels for customer's convenience.
Technically you can host your website yourself on your own computer if your computer is assigned a fixed IP address and is always connected to the Internet. However, it requires technical expertise and can be a very expensive option.
Self-hosting entails setting up and configuring a web server from scratch, including all associated hardware and software. All these will require periodic maintenance which you will have to handle yourself. A web hosting service, on the other hand, is run by a team of technical experts who take care of all these and ensure that your website renders efficiently and is protected from cyber attacks. It simplifies many complex aspects of hosting a website for you so that you can focus only on your website's functionalities and not worry about the technicalities of running it. Additionally, the in-house team of technical experts that a hosting company employs, are geared up to help you out in your on-boarding process as well as take care of trouble-shooting and resolving issues that may arise from time to time - be it site malfunction, email deliverability issues, and so on.
The extent of hosting service you need to procure will vary according to requirements of different types of websites. A website would comprise of 1 or several pages of information or content. A web page content could be static, dynamic or interactive. The most basic website would require you to host a few static web pages, where files can be uploaded via ftp or a browser-interfaced control panel. The files are usually delivered to the website visitors with little or no processing. The most advanced requirement, on the other hand, would be a requirement to host a fully functional ecommerce website, a specialized portal (eg. facebook, twitter) or high-end online applications such as an erp system.
Let us understand the 3 types of web content a little more...
Static Content: A static web page usually displays information that is fairly static in nature and do not change frequently. Examples are profile pages, contact info page, company's vision, mission and quality policy.
Dynamic Content: A dynamic page displays information that changes with time. For example, a stock broker's website may display values of various stocks. The displayed stock values change as the value of the stocks rise or drop. To fetch the current values, a background script would be running which would periodically fetch data from the stock market database. Another example of dynamic content could be - a company posting daily production report. Every morning a background script would fetch the last day's production data from the company's production database and display a nicely formatted report with tables and graphs.
Interactive Content: An interactive web page allows website visitors to interact with you. These are typically accomplished with the help of forms - example: a contact form, a survey form, a feedback form, etc. A vivid case of interactive page would be an online gaming site. The product pages of an ecommerce website with link to place order or send enquiry are examples of dynamic and interactive page. They are termed dynamic because the product information, pricing, discount, etc. are usually fetched from a database which may undergo updates from time to time. They are termed interactive because they provide for facilities to enable a website visitor or customer to place order online. A blog where readers can give their comments, is a typical example of an interactive web page.
The requirements for hosting various types of content as classified above, would vary depending upon which of the above types of pages you require. Further, if you require dynamic or interactive pages, to what extent you want them automated. Advanced website requirements call for a more comprehensive hosting package that provides a platform where complex application programs can run and access data stored in a database. Typical programming languages that are used to develop web applications include - PHP, Java, ASP and .Net. Database applications that are popularly used on web servers are MySQL, MS SQL Server and Oracle.
As long as you have the budget, setting up a website on a hosting server can be pretty easy. There are plenty of service providers who can help you setup your website at a reasonable investment. Click here to see a checklist of items that are required to setup your website on the internet.
Web Hosting Selection Criteria
Your guide to buying a hosting plan
How to decide between Linux Hosting and Windows Hosting - Which hosting server to opt for?
How to move your Email accounts from one hosting provider to another without losing any mails?
How to resolve the issue of receiving same email message multiple times when using Outlook?
Self Referential Data Structure in C - create a singly linked list
Mosquito Demystified - interesting facts about mosquitoes
Elements of the C Language - Identifiers, Keywords, Data types and Data objects
How to pass Structure as a parameter to a function in C?
Rajeev Kumar is the primary author of How2Lab. He is a B.Tech. from IIT Kanpur with several years of experience in IT education and Software development. He has taught a wide spectrum of people including fresh young talents, students of premier engineering colleges & management institutes, and IT professionals.
Rajeev has founded Computer Solutions & Web Services Worldwide. He has hands-on experience of building variety of websites and business applications, that include - SaaS based erp & e-commerce systems, and cloud deployed operations management software for health-care, manufacturing and other industries.