Web Development

One of the great things about Web Development, is that anyone can teach themselves to do it. You don't need to go on an in-depth training course to build and maintain your own websites, you can just pick skills up as you go along - Web Developers may not like to admit it, but this is what they do all the time!

There's no need to learn how everything works straight away, if you focus on one thing at a time and build each of the component parts of your site in turn, you'll have it up and running the way you want it in no time. To help get you started, this article will go over a few of the basic concepts.

Websites use a huge range of different technologies, and unfortunately people often tend to use overcomplicated abbreviations and terms that can bamboozle the best of us. However, making use of the technologies is mostly pretty straightforward. You don't need to be a computer wizard to create a site that is both attractive and effective, whatever its purpose.

How does it work?

One of the main concepts to get to grips with is what happens when people visit Websites. The actual content of your site is stored on a Web server. This is just a computer that runs as a server, meaning that it holds the content in a way that can be accessed when someone types in a Web address or follows a link to your site. Depending on the nature of your site, this content may be partly stored in a database, and will often include a number of files such as images, videos etc as well as text.

Server vs Client

When you look at information relating to Web Development, you'll see the terms 'client' and 'server' used. This is to distinguish between what happens on the server, and what happens on the visitor to your site's computer (in their Web browser - e.g. Internet Explorer, Firefox, Safari etc).

When someone visits your site, their browser sends a request message to the server, which replies, normally with the content of your site's homepage. The visitor's browser receives this content in a form that the browser can interpret and present to the visitor - this form is mostly HTML but can include other information and content.

In general, it can help if you think about your site in terms of two main components:

- the content (this includes the data, text, pictures, video and anything else you intend to have on there)

- the way this is presented to the visitor

Static vs Dynamic

Websites in the past basically had the content all laid out in HTML files that had to be edited if you wanted anything changed (some sites still work like this but it's increasingly less common). When someone visited the site, the HTML pages were basically sent to the visitor's browser to be displayed to them. This is what's known as a 'static' site.

By Christopher Creswick

Today, huge advancements in technology mean that most sites are 'dynamic'. This type of site will tend to have content stored in a database on the server, and makes it much easier to maintain sites such as online stores, magazines, blogs etc - basically any site with content that needs to be updated often.

Dynamic sites still work the same way as far as the visitor's Web browser is concerned, as it still receives HTML etc. However, rather than having the HTML and other content simply sitting on the server preformatted and waiting to be viewed, what happens is that the HTML is generated dynamically, whenever someone visits the site. In this case it's a script or program that sits on the server, and when someone visits the site, the script runs, writing out HTML content and sending this to the visitor.

There are many advantages to this type of technology, including the ability to change the content of your site easily, and to automate parts of it. Typically, a dynamic site will use a database for at least some of the content, although this does vary for different sites.

Imagine an e-commerce store as an example: the stock might be stored in a database together with details of availability, descriptions, prices etc. When someone browses to the site, a script on the server (using server side scripting, for example in a language such as PHP or ASP) will connect to the database, query it as to the products in stock, and send this to the visitor's browser in the form of a formatted Web page. If the visitor orders something through the site, the code on the server will again connect to the database, updating it this time, in accordance with the new order.

At the client

So far we've talked about what happens on the server, so let's turn to the client, and what happens when the visitor's browser receives the content from the server. As well as the basic content (text, data, images etc), the client browser will be able to access information that tells it how to display the content. Part of the information you store on the server will indicate style and formatting rules, typically using one or more CSS files (Cascading Style Sheet).

When someone types the address of your site into their browser then, the server typically sends back whatever is either contained in or generated by the 'index' file - this is a file named something like index.html or index.php. Whatever is sent back to the client also usually contains references to other files, such as CSS and client side scripts (e.g. Javascript), so that the browser can work out how the pages are to be displayed, and sometimes make parts of it interactive.

Options

The above introduction outlines how the basic process of building and viewing Websites works, but it's worth mentioning that there are many ways in which you can automate things. You don't need to build a Website from scratch by creating the components indicated above, you can use any of a huge number of tools to do parts of this for you.

Content Management Systems are a growing technology on the Web, and many of them are actually free. If you choose to use these, you simply enter the details of your site's content, and the system pretty much does the rest. Many of these systems have the ability to host various different types of site including e-commerce and multimedia.