Web Servers
Web servers respond to web clients (browsers) requests for data by serving up entire pages or basic data for formatting
and insertion into the browsers current web page. A server may house many web sites with each site being identified by
its domain name.
Web Hosting
If you are just starting your first web site and thinking of running it from a spare pc in your bedroom,
here are some reasons why that's not a good idea:
- Bandwidth: a hosted web site will be far more cost efficient in providing a good / rapid experience for your
visitors. Normally a hosting site will offer bandwidth tiers with different performance levels, for a price.
- Availability: a hosted web site will normally have redundant connectivity and disk space to cope with failures.
There will also be a team responsive to external attacks and their prevention through timely maintenance.
- Ease: Everything is set up for you. Domain name registration, obtaining and installing SSL certificates and
usually the provision of email servers. Hosting sites often provide other services such as a Content Management
System and Search Engine Optimisation etc. although these may be additional cost items.
Server Support
A web hosting site must support the server you want to use. Here is a list of the main web/HTTP servers:
- Apache
- The Apache HTTP Server is an open-source HTTP server for modern operating systems, for economy this is
usually a UNIX based system however Apache will run on Microsoft Windows and IBM mainframe systems.
Apache systems typically support PHP (PHP Hypertext Preprocessor) as the
server side scripting language and MySQL for database functionality. Other compiled and/or scripting languages, such
as Java, Python and Ruby, may also be available.
- IIS - Internet Information Server
- A Microsoft Windows based server supporting Microsoft's Active Server Pages (ASP) and scripting language such as Visual Basic.
Both PHP and Python may be supported as well. Database access will typically be via Windows SQL server.
- Node.js
- A javascript based server. It is node.js that allows javascript (normally used as a web client/browser scripting
language) to run under the operating system. This is similar to Windows Scripting Host but then for multiple
platforms and optimised for web serving.
Content Management Systems
This is far more than keeping track of your web sites content. CMSs help you build beautiful web sites without
a need to understand page formatting/layout instructions such as HTML and CSS nor have any programming knowldge
of PHP, javascript, Jquery etc.), at least almost.
You will be dependent upon your web host's support for the CMS, so you can always research them and
choose the hosting service to match your CMS. Some of the major systems are:
- WordPress: Websites, Blogs, Vlogs or any combination. The most popular CMS solution.
- Joomla: Prides itself on mobile support.
- Drupal: Open source based
- Magento: Owned by Adobe and specializes in e-Commerce solutions.
A word of warning: when using a CMS system be aware that these systems are very popular and are therefore firmly
in the sights of hackers. Make sure you follow any security advice relevant to your system to help avoid attacks
on your site.