Web Hosting Terminology
As you shop around the internet looking for
a good web host, you're bound to run into some terminology that may leave you dazed and confused. This page is dedicated to giving you the lowdown on what these terms and advanced features are all about so that you can better inform yourself as to what exactly these web hosts are offering you.
The list is ordered from top to bottom according to what you'll find most important as a new webmaster down to some more technical stuff that you're less likely to use (or care about).
You can read through the whole list
below or use the menu on the right to quickly jump to something specific:
- Disk space ~ This refers to how much actual hard disk space you are allowed to occupy on the computer(s) your web host uses to act as a web server. More often than not, the disk space allotted to you will be far in excess of what you actually need.
- Bandwidth ~ This refers to how much data transfer your web host allots to run through your website. If, for example, the file size of your home page is 50 KB then every time someone visits or 'hits' your home page this counts as 50 KB worth of data being transferred from your website and hence you will have used up 50 KB worth of 'bandwidth'.
If you get 20 hits on your home page then will have used up 1MB worth of bandwidth. If you get 2000 hits on your home page then you will have used 100 MB worth of bandwidth. If you have 10 pages all with a file size of 50 KB and they get 2000 hits each then you will used up 1 GB worth of bandwidth. Etcetera. The number of hits your website gets in a specified period of time is colloquially referred to as 'traffic'. So if you have a website getting 1 million hits a day then you are getting ALOT of traffic.
Bandwidth limitations are usually specified in terms of how many megabytes (MB) or gigabytes (GB) per month and can vary anywhere from 300 MB (find another web host) to 2000 GB (good) and upward per month. When you go over your allotted bandwidth you will usually be charged extra and the overage charges can sometimes be exhorbitant so it's good to get out the calculator and do the math on what kind of bandwidth you expect to use. This is just basically average page size X number of pages X average number of hits per page. If you have no idea what this will be then you're going to have to take your chances and sign up with a web host that has a good web stats program so that you can closely monitor the traffic to your site for the first little while to get a sense of what's going on.
Once you have approximated how much bandwidth you expect to use (or are actually using) then tack on a big chunk of extra bandwidth to your estimate to act as a kind of buffer zone allowing for extra good days or sudden increases in traffic. You'd be surprised at what a few inbound links from a high traffic website can do to your bandwidth. If you have a good website that is bound to attract alot of visitors or entice others to link to your website (which is the whole point) then it's best to BE PREPARED.
1 to 5 GB bandwidth is reasonable for new websites that are not Flash presentation or software download sites.
- FTP account ~ Stands for File Transfer Protocol. An FTP account refers to a setup where you can log in to the area of the hard disk on the web server that contains your web files. This feature is standard for paid web hosting accounts.
After you sign up with your web host, you will be given a username and a password which you can use with an FTP program (like WS_FTP) or an HTML editor (like HTML Kit) to access, upload, download, view and —depending on the program— even edit the web files stored on your web host's server computer. Access to your web server will typically be limited to the root folder and subfolders containing all the files related directly to your website.
- POP3 email accounts ~ Stands for Post Office Protocol. This allows you to create and setup numerous email accounts whose addresses will read something like
any_name@your_domain_name.com
Depending on the web hosting deal you get, you may be offered anywhere from 1 email account (find another web host) to 750 email accounts (pretty good) or more.
A good web host should also offer support for email aliases, email forwarding, autoresponders and a catch all email account.
- An email alias is a nickname that you can apply to multiple email accounts. For example, if you had ten people in your sales department all with their own email accounts, you could apply the email alias "sales" to all their accounts. Hence if someone sent an email to
sales@your_domain_name.com
, everyone in your sales department would receive a copy of that email.
- Email forwarding allows you to have a copy of an email that is sent to a particular email address automatically sent along or forwarded to another email address of your choosing.
- Autoresponders allow you to set up an automated email response whenever email is sent to a particular address.
- A "catch all" email account is a special email account that will receive email addressed to
any_name@your_domain_name.com
where any_name
refers to just that, any name, even non-existent email names.
So let's say your domain name is monkeysonrollerskates.com
and the only email address you have configured is:
info@monkeysonrollerskates.com
...and someone mistakenly sends an email to:
kingkong@monkeysonrollerskates.com
Your catch all email account will actually receive this email.
Although catch all email accounts tend to receive alot of spam, they can also be used to filter out spam and can ensure that you will receive all legitimate misaddressed email.
- Control panel ~ This refers to a special kind of software installed for the convenience of webmasters to handle common tasks associated with web hosting accounts. With your user-friendly control panel you can expect to be able to easily change your password, create email accounts, create extra user accounts and passwords with varying accessibility, password protect directories, change file permissions, upload files (although typically control panels offer poor support for this), monitor your bandwidth and more. A full-blown control panel is a standard among commercial hosting accounts. If the web host you are looking at doesn't offer this then keep looking.
- Web stats ~ Your web hosting account should come with some kind of web statistics program pre-installed that you can use to monitor your website's traffic and other related details. A good web stats program (like Awstats) can be updated at will at any time of the day and should be able to provide you with a running hourly tally of the following:
- Number of unique visitors to your website
- Number of visits
- Number of web pages hit (which is your true hit count)
- Number of web files of any type hit (which is your inflated hit count)
- Bandwidth
- External links people use to hit your website (an extremely useful stat)
- What kind of browsers and operating systems visitors use
- How many visitors add your site to their favourites list
...and much, much more.
A good web stats program is chock full of information and is indispensable to the fledgling web designer.
- FrontPage extensions ~ These are special extensions installed on the server which exhance the usability of a WYSIWYG program known as FrontPage editor. If you use FrontPage Editor, it would be greatly to your advantage to select a web host that supports FrontPage extensions. Some web hosts offer it for free, while others charge a nominal fee. Still others offer FrontPage extensions for free but will not install them unless you specifically ask to have them installed.
- CGI ~ Stands for Common Gateway Interface. When a web host offers CGI support, it typically means that you can access a folder in your website's root directory (on the web host's server computer) called
cgi-bin
to which you can upload your own customized scripts or scripts of your choice. These scripts are usually written in Perl and they will add all kinds of sophisticated functionality to your website such as email forms, search boxes and the like.
Free web hosts quite often will offer you ready-made scripts to do the same but will not offer you access to the cgi-bin
to upload and run your own scripts. CGI support is standard for commercial web hosting deals. If they don't offer it then find another host (or make sure that you are getting an incredibly cheap deal... actually free is more like it).
Be advised that some web hosts don't always name the folder that contains your scripts cgi-bin
. Some hosts will simply call it cgi
. Check with your web host's technical support to verify this. Also, to run scripts written in Perl on your web pages, you will need to know the path to Perl. This is typically something like /usr/bin/perl
and will be entered as the first line on all your Perl scripts prefixed by the #!
characters (hence #!/usr/bin/perl
) providing them with the full path to the Perl interpreter on your web server.
Although you can write your own scripts, most webmasters tap into the plethora of ready-made free scripts available out there on the net. To help yourself to some free scripts, visit the NMS Progams page.
- PHP ~ PHP is a recursive acronym for PHP: Hypertext Preprocessor (according to php.net), although other sources say that acronym original stood for Personal Home Page and still others claim that it stands for either Pre-Hypertext Processing or Parser Hypertext Preprocessor.
In any case, PHP is an open source, server-side, scripting language which can be embedded in HTML by enclosing it in special tags allowing an HTML document to switch back and forth between PHP and HTML. Since the PHP code is processed by the server and eventually resolved or output as HTML then it can work with any web browser. This makes it a versatile and widely used method of creating dynamic web pages with all the functionality of CGI scripting.
A dynamic web page is defined as a page whose output is customised and dependent on user interaction, e.g., a user customised page, a message board, a database lookup and more. The PHP web page file name is saved with a special file extension, typically .php
, php4
or phtml
which indicates to the server that it contains PHP code which must be processed before sending to the client browser.
PHP support is now a standard in basic paid web hosting packages although in some cases it may require a database like MySQL to perform certain functions.
- ASP ~ Stands for Active Server Pages. This is Microsoft's answer to CGI and runs typically on Microsoft Web or Windows servers. ASP provides a way to embed scripts in HTML pages in order to generate dynamic or interactive web pages such as processing forms, displaying the time and date on the web page, searching a database for results according to parameters input by the user and more.
The embedded scripts, usually written in VBScript or Jscript, are run by the server and then the web page is resolved or output as HTML thus making it browser independent (any web browser can load it). Active Server Pages are saved with the .asp
file extension thus indicating to the server that the page contains ASP scripts to be executed before sending the resultant page to the client browser.
Often a web host will offer you a choice of running your website on either a Unix or a Windows server, the difference being that the Windows server will support ASP whereas the Unix server typically will not. If you don't have any experience with ASP or have no intention of using it then opt for a Unix server since they are reportedly more stable. On a Unix server you can always use CGI or PHP to generate dynamic or interactive web pages.
- SSI ~ Stands for Server Side Includes. This is a method using directives in your HTML code to be processed by the web server in order to dynamically generate certain portions of a web page on the fly before it is sent off to the client browser.
SSI is best suited to situations where only small portions of your web page are required to be dynamically generated and is especially useful to insert blocks of HTML code that tend to be repeated across numerous web pages.
For instance, Iron Spider contains 150+ pages as of this writing and they all contain the same navigational sidebar menu permitting you to quickly select and jump to another page on this site. Instead of having to rewrite the same menu on all 91 pages every time I add a new page (and thus a new link to the sidebar menu) I create a single Includes file which contains only the HTML code for the sidebar menu which is then saved with the .inc
file extension. Then I put the SSI directive on all my web pages which instructs the web server to retrieve the sidebar menu .inc
file and automatically insert it on each and every web page. Thus I am only required to update a single Includes file whenever I wish to change the sidebar menu on all 150 pages.
To use Server Side Includes, you are normally required to save your HTML files with the .shtml
file extension in order to instruct the web server that this file contains SSI directives to be processed. However you can (if permissible) override your web host's server configurations with an .htaccess
file to have SSI run on .htm
or .html
files.
SSI can do more than just insert snippets of code into your web pages. To learn about everything you can do with SSI, see Apache Tutorial: Introduction to Server Side Includes.
SSI is a standard in basic web hosting packages. If the web host you are considering doesn't support this then move on. You can do better.
- .htaccess ~ Good web hosts will configure their servers to permit clients to create
.htaccess
files in their directories allowing them to override certain server configurations. If your web host is using Apache server software (very likely) and you have some knowledge of configuring Apache then can use .htaccess
files to apply some close control over how your web files are served (such as which file extensions support SSI), specify which directories can be accessed and by whom, customise error pages and more.
Exactly which directives you can put in your .htaccess file to override server configurations varies from one web host to another and in my travels I have not seen this feature as well supported as others (such as CGI, PHP or SSI). Nevertheless, I personally consider this feature essential.
- SSL ~ Stands for Secure Sockets Layer. This will enable you to send encrypted and authenticated information over the web ensuring client security. This is an essential feature if you are running a business site and you wish to accept credit cards. Whenever you see a URL beginning with
https
then you can be assured that SSL is in effect. A dedicated SSL typically costs extra in paid web hosting packages.
- MySQL ~ The SQL part stands for Structured Query Language. MySQL is touted by the MySQL homepage as "the world's most popular open source database" and is basically an open source development of the SQL language designed to provide fast access to stored data.
A database is an organized collection of information available to be searched or queried in order to provide specific results. MySQL, noted for its speed, reliability and flexibility, can be used with web languages like PHP to generate dynamic web pages which depend heavily on storing, deleting, updating and retrieving data (such as message boards).
MySQL is usually supported in higher-end web hosting packages although some basic packages will include it free of charge.
- Crontabs ~ A.K.A. cron jobs. Cron is a program that runs on UNIX (an OS widely used by web servers) to run scheduled tasks. If your web host offers support for cron jobs or crontabs (cron table files) then you will be able run certain tasks at designated times or intervals such as running a script to update or backup your website. Support for this varies from one web host to another.