Thursday 27 September 2012

A Beginner’s Guide to Different Website Technologies and Their Hosting Requirements

Part 1: Mark Up and Code

When you begin to size up the multitude of web hosting options that are available to you in the market it is important to bear in mind what specifications your website will demand from your hosting platform. This is particularly salient if the web site is yet to be built and you are considering how to do so. The following article takes a beginners look at the technology that goes into building a website and then how that technology will affect the requirements of your hosting platform.

HTML and CSS - Page Display
In its simplest sense a web page is essentially a document which can be viewed over the internet. It lives on a web server, a computer whose job it is to show the page to the rest of the world. The structure and layout of the content in that document or web page is specified using what is known as mark-up and more specifically HTML (HyperText Markup Language). This is the most fundamental building block of a website and basically labels and classifies every element, or block of content, on the page and therefore the order in which they should appear.

The appearance of each element can be specified on each individual page within the HTML but is instead usually set using another type of mark-up on one or more separate Cascading Style Sheets (CSS, documents often referred to as just Style Sheets). Because these sheets sit apart from the actual HTML document they can tell how elements or groups of elements should appear across multiple web pages rather than just one.

There are different versions and standards of both HTML and CSS markup but the technologies do not affect the type of hosting platform (web server etc) that the website needs as they are simply interpreted by the internet browser software on each user’s machine to display the web page.

Content, Databases and Server-Side Scripting
The content that actually sits within each HTML element can be stored within the web page document itself if it is text, or alongside the web page document file, on the web server, if it is another type of file such as an image, a video or a PDF that the page links to or displays.

If the web page needs to be dynamic however, that is to display different content to a user each time it is displayed depending on the user’s particular requests or input, the content will be stored in a database on the web server which then allows the relevant content to be used to construct the web page on the server every time it is requested, before being displayed to the end user. Most websites also therefore use a language which tells the web page what content from the database to display depending on what the end user has requested - this is called a server side scripting language. As an example, this language could be used to display content on the same page which is different because it is a Tuesday compared to the version of the page which is displayed on a Monday.

Web pages can also include code (within the page) which allows them to change in accordance with user inputs after the page has been displayed to the user. This is called client side scripting but it does not affect the hosting requirements as the code runs on the user’s computers within their browser and not on the server. The most common example of this code is JavaScript.

However, the management software which is used to organise the database system, as well as the server side scripting language which is used to control which content is shown, can both place restrictions on which operating system needs to be used within your hosting platform. The choice of operating system will broadly be between Windows and Linux (open source).

Amongst the most common database management systems for example are MySQL, PostgreSQL and Microsoft SQL Server; the first two of which are open source and supported across both platforms. However, SQL Server is a proprietary Microsoft system which requires a Microsoft Windows operating system. The most popular languages used as server-side scripting language are PHP (PHP: Hypertext Preprocessor), Perl (a more general programming language) and Microsoft's ASP.NET (part of their .NET framework). Languages such as PHP or Perl are again supported by an open source community themselves and so are compatible with both operating systems, however, ASP.NET is restricted to running on a Windows platform.

It is important therefore to check which systems and languages your site is running and consequently which operating system your hosting platform will need to include.

Part 2: Content Management

Every website needs to be managed, either by its users or its webmasters/owners, with its content, appearance and functionality updated, removed or added. The systems and technologies used to create and then managed the site and its content will be core to determining the technological requirements of the hosting platform that the site needs.

As mentioned in the previous article, the content of a web page can be stored in that web page/HTML document if it’s text that doesn’t change, within the website’s folder structure on the server if it is a separate file (images etc), and/or in databases if the web page needs to be dynamic in terms of which data it displays.

File Access - FTP
All website builds will require the access to manage the underlying files that sit on the web server, such as the HTML files, CSS files, content files (e.g., images and PDFs) and code files (e.g., PHP, ASP etc). As a result all web hosting platforms should come with a way of transferring files to and from the web server and most of these use what is known as FTP (File Transfer Protocol). Some hosting packages include a web based interface for ‘uploading’ files instead or as well as FTP access for those with more basic needs, however, for web developers making extensive and regular code changes on their site, FTP is essential.

In its simplest sense FTP is an internet protocol which allows users to add, replace or delete files on a remote server across the internet in a similar fashion to files on a local network, but using an FTP software program instead of Windows Explorer for example. It is worth bearing in mind though that traditional FTP does not encrypt the information that it transfers and so if you are working with sensitive or private information or files you will need to check that the hosting provider supports a secure version/equivalent of FTP.

Content Management Systems
An increasingly large proportion of the sites on the internet are in fact built using what is known as a content management system (CMS) and if you are yet to build a site you will need to consider whether you would be best to use a CMS and, if so, which one and what the hosting implications are of that choice. In short, a CMS is the ‘back end’ of a site which allows users to login and change the content that appears on the front end. As a result they can be, and usually are, used to initially construct the website too.

For less experienced web developers or administrators with no programming experience, a CMS will allow them to add, modify and remove content without needing to use code or mark-up, sometimes using tools such as a WYSIWYG (What You See Is What You Get) editor to show the user exactly what they will be changing as they do so. The content that will be managed through a CMS will usually be on-page text but can also include files such as images, multimedia and PDFs (sometimes negating the need to use FTP) as well as the appearance and layout of pages (usually using templates to apply the same appearance to multiple pages).

In addition CMSs give experienced web developers the core building blocks of a website so that they can go on to manipulate the code to the functionality they need and the markup to achieve the look they want. Where a CMS does not offer a particular piece of functionality in its core build (out of the box) there is often a module which will have been created by its community of web developers and which can be installed in the CMS to achieve the functionality. If there isn’t, experienced developers can create their own modules and contribute them back to the community.

The concept of a CMS is very closely linked to the idea of blogging software and most of the internet’s more common CMSs began life as software intended to allow users to easily post their own blogs online. Bespoke CMSs can be built by web developers to create and manage a website, however, a large number of these CMS-built websites use off-the-shelf CMSs which can either be downloaded and installed as open source packages or purchased as proprietary systems. As with all such software and systems, open source CMSs will tend to be free and supported by community but less controlled, whereas the proprietary systems will have more structured support but will carry a cost.

As CMSs need the ability to display different content on pages depending upon what the user requests, and as they use themes and configurations to apply templates to multiple pages, they rely on dynamic page creation and consequently the use of databases and server side scripting. By far the most popular off-the-shelf CMS in use on the internet today is WordPress which is built using MySQL database technology and PHP as its server-side scripting language. As a result it is able to run on both Windows and Linux, as are Joomla! (PHP & MySQL) and Drupal (PHP and a variety of database programs) amongst the other more popular CMSs. Contrastingly, the most popular CMS that is restricted to running on Windows servers is Umbraco as it is built using ASP.NET.

There are a number of other factors you will need to consider before deciding which hosting platform to go for, whether you choose a dedicated and managed hosting package for a large site with high traffic volumes and security issues, or a shared server platform for simple static brochure site, but these will be addressed in more detail in following articles.

© Stuart Mitchell 2012

If you want to find out more about choosing the right hosting platform for your website you can visit Managed Hosting or for help in building your site, Web Design London.
Enhanced by Zemanta

No comments:

Post a Comment