Website hosting is the storage of a website’s HTML files, images etc on a web server that can be accessed by users on the internet. The choice of web hosting company can make a difference to the speed and reliability of your e-commerce website and it is therefore important to choose an ISP or business web host provider that is specialised at business web hosting where greater emphasis is placed on uptime and connection speeds compared with cheap web hosting
All ecommerce websites require advanced hosting facilities beyond simple HTML hosting that can provide database facilities, run applications and scripts, and provide SSL (encryption) secure hosting and email support. There are various options to choose from a web host when it comes to these factors and these include the type of database that is required and the type of scripting language that will be used to make the webpage perform necessary ecommerce tasks such as order processing, shopping carts, and search functionality etc.
Dynamic webpages are not static (or fixed) in that they are generated in real time to display ‘dynamic’ content that may be based on user input or results from a database engine, and can also store data such as shopping cart details in memory while the customer is browsing the online shop website. The main types of languages used to create dynamic ecommerce web sites are as follows…
* ASP: Stands for Active Server Pages and is proprietary to Microsoft. It is used with the IIS web server (internet information services) which is also proprietary to Microsoft and comes installed alongside IIS on certain versions of Windows.
* CGI: Stands for Common Gateway Interface is used to allow a web server to pass data to and get results from an external compiled standalone program (usually stored in the cgi-bin directory) written in C/C++ or Visual Basic for example. Because the external program has to be run for every request made to a page served by a CGI program (.cgi ) it imposes higher workload and server overhead than newer scripting technologies like PHP. Also, because CGI allows ordinary programs to be run within the server system, it opens the possibility of security breaches. Since such programs are usually compiled, it means that the programmer also has to perform compilation during debugging which can also take up more time than scripting languages like PHP.
* Perl: Practical Extraction and Report Language was the main dynamic programming language used in ecommerce websites before the release of PHP and ASP. Its strengths lies in text manipulation which lends it well to use with database applications where it makes it easy to write SQL queries and process returned results. It has a reputation as being an untidy language that is difficult to debug, however it is still widely used to write CGI programs because it does not require compilation. The lack of compilation means that its speed is similar to PHP and ASP and slower than C or C++.
* PHP: Hypertext Preprocessor is a relatively new server side scripting language that was created to address the various issues with CGI in creating complex dynamic websites. It is object oriented which is an important adjunct to maintainability in complex software systems. PHP is usually used with Linux, Apache and MySQL which is a popular configuration amongst ecommerce designers due to its comparative reliability and security. Extensions can still be written in C to improve PHP’s functionality on par with CGI.
Dynamic ecommerce websites typically also require a database engine with which to store an manipulate product and customer data. The main types of databases used in ecommerce software include…
* MySQL: Is a database management system with a Structured Query Language interface that is popular with dynamic websites because it is compatible with all popular programming languages including PHP and runs on many different platforms including those popular with web hosting such as Linux based and Windows based platforms and Solaris. It can handle multiple users and process large amounts of queries fast.
* PostgreSQL: Is a popular alternative to MySQL that, unlike mysql, supports triggers for validation checks, multi version concurrency control that removes the need for read locks in multi user environments, and enforcement of referential integrity.
* Microsoft SQL Server: Is a proprietary relational database management system that competes with MySQL. Its advantage is that it can support database clustering which is mirroring a database amongst several servers in order to distribute workload. Microsoft products tend to be more susceptible to viruses and Microsoft SQL Server was once attacked by the Slammer Worm which continues to affect many unpatched ecommerce sites that use it.
There are two main types of web server on used in website hosting. Business first ecommerce solutions use the more popular Apache web server to host its online shop websites on a Unix based platform that provides a superior level of reliability and security…
* Apache: Is an HTTP server that is used on ~60% of all websites and is used usually on unix like operating systems like Linux and is a popular adjunct to PHP and MySQL in what is known as the LAMP (Linux, Apache, MySQL, PHP) architecture of serving webpages on the internet. It is strong in areas of performance, reliability and security compared with alternative web servers and it supports 301 redirects via .htaccess files which is important for Search Engine Optimisation when pages may move from one location to another without losing pagerank.
* IIS: Internet Information services is a proprietary web server that is usually used with sites that require ASP programming or Microsoft SQL Server functionality. It has been hit with a number of high profile security exploits such as the Code Red Worm.
Business First have been providing dynamic website hosting and mysql database hosting for businesses for nearly a decade, collocated in facilities providing physical security, high bandwidth, data backup, uninterruptible power supply and advanced air conditioning and fire safety provisions. It is typically not possible for a private individual or small company to set up a web server with these provisions in place due to the high costs of both hardware and maintenance while still keeping inevitable server restarts, network downtime and unplanned maintenance at a reasonably low level.