by Megan McDermott, 17 December 2006 - 8:15pm
There are several different web technologies that you will come across when building your site. This article will explain the most common web technologies and how they are used in building a web site. For the purposes of this article, we can think about building a web site like you would build a house. You need a foundation, framing, plumbing and electrical components, and decoration.
Client-Side Mark-up and Scripting
Client-side technologies are things that operate in the browser. There is no need to interact with the server. These languages are generally very easy to use, and you can try them out right on your own computer.
HTML: Hypertext Mark-up Language
By now you surely know what HTML is! It is a basic mark-up language that you'll use to create the structure of your web pages. You can think of this as the framing for the house that you're building. It is the most basic and essential part of your web site - it gives your house shape, rooms, and structure.
CSS: Cascading Stylesheets
This is what you will use to create the decoration for your house (or website!). CSS describes how a web page should look in the browser. The key to good web page creation is to completely separate the presentation (CSS) from the structure of your site (HTML). This way it is easy to make changes to the look of your site without changing all of your HTML files. Just like putting a new coat of paint on your house.
JavaScript
JavaScript is a simple scripting language used to make things happen on your web page. In our home building analogy, JavaScript would be the hinges that make doors open and close and light switches turn on and off.
It is important to recognize the difference between JavaScript and some of the server-side technologies discussed below. As a client-side language, JavaScript only works within the browser window. It cannot retrieve, create, or store data on the server, it can only manipulate things within the browser. Things that you might use JavaScript for include swapping images on mouseover, check to see if form fields have been completed, or making a web page redirect to another page.
Server-Side Programming Languages
There are many server-side programming languages that you can use on your web sites. These are languages that interact with the web server to manipulate data. In our home building analogy, server side programming would be all the functionality in the house: electrical wiring, plumbing, and duct work. It does stuff.
You would use a server-side language to send form data, store passwords and login information,or otherwise store and retrieve data from the server. Applications that would require a server side language include message boards, blogs guestbooks, and anything that requires users to log in.
Before you start worrying out about learning a programming language, you should know that for many basic applications it isn't necessary to learn how to do server-side programming. You can download and install many scripts with minimal effort. Of course, if you are interested in learning programming there are many resources available. The most common server side languages are PHP (PHP Hypertext Preprocessor, open source) and ASP (Active Server Pages, from Microsoft).
To use one of these, you need to have them enabled on your hosting account. Most free hosts do not offer server side languages of any kind. On a paid hosting account, it depends on whether you are on a Windows or Linux server. ASP is a windows technology and is only available on Windows servers. PHP is an open source language and is available on Linux and (sometimes) windows servers. Check with your hosting provider to see which one you can use with your account.
You may also hear about .net, asp.net, Ruby on Rails, or JSP. These are higher end programming languages that are used to create complex web applications. As a beginner, you don't need to worry about them.
Summary
All of these technologies work together to crease visually appealing, structurally sound, fully functional websites (or houses!). Which technologies you need to use depends on what type of site you are creating. For a simple site, you may only need to use HTML and CSS. However, if you want to add some interactivity you will need to get your hands dirty with JavaScript and/or server-side languages eventually.