I have used the following technologies in my experience in web design:

Pre-Hypertext Processor is a server-side scripting language which
allows one to build dynamic and transactional websites. It can be used
to process form data from users, and it can also be used to interface
with a database, or update webpages as new information is submitted. The
date of last modification and the selection of pages for this site are
controlled by PHP.
Javascript is a client-side scripting language, which also can make
websites more dynamic. The advantage of a client-side scripting language
is that changes can be made to a page without reconnecting to a server,
which can result in a significant improvement. The font resizing function
on this site is implemented in javascript.
The web is mostly based on html (Hypertext Markup Language). Markup
languages allow one to specify additional traits about how text should be
formatted. For example, if one wants to emphasize some text, one can
simply mark up the text like so:

<em>emphasized text</em>

xhtml refers to the new standard as set by the w3. It has a stricter
syntax than previous versions of html, which aims to make the web
browsing experience better. The hope is that website authors (and
authoring programs), will all adhere to this syntax, and then web
browsers (and other devices such as phones, screen readers etc.) will all
be able to correctly handle the content.

mysql is an open-source relational database. It is one of the most
popular databases currently in use. Essentially a database is a way to
store information in a structured way, which makes accessing it quick and
easy. One can think of a database as a collection of spreadsheets, with
various tables, rows and columns. Using databases in websites affords
several advantages.

  1. With a database comes searchability. While many websites offer
    users the option to search their site using google or some other search
    engine, this does not work well for sites that are updated frequently.
    Search engines have to crawl the entire web, which can take a long
    time. On smaller sites, search engines might only come around once a
    month or so. By having an internal database, searches always include
    all the content on the site
  2. Databases provide an abstraction layer. While someone has to create
    a well-structured database to begin with, once that is in place, users
    can create content without having to worry about where it should go.
    This makes it much easier to collaborate as well.
Cascading Style Sheets provide an elegant and clear way to style
webpages. While html should provide structure to the document, for
example by specifying the title of the document, and different sections
of the document, CSS can be used to dictate how the content should be
styled. One great advantage of CSS is that it can be changed very easily.
If one has a website with 30 pages, and in each of these pages, the title
is specified to be colored red, but suddenly someone decides they look
better in blue, then one has to edit each page individually. If, however,
one simply specifies the title for each page, one only has to change one
CSS rule to change all the pages. Frequently when people redesign a
website, they mostly redesign the style, not the content. Keeping these
two separate makes for a cleaner website, and one that is much more ready
for the future. The style setting function in this site uses CSS. As you
can see, simply changing the style can substantially change the look of
the site. Allowing users to choose their own style offers them more
flexibility, and an enhanced browsing experience.
Apache is the most widely used webserver today. It is a great success
story of an open-source project. Apache is a fast, robust, secure, and
flexible webserver. Though most people don’t know it, clicking on a link to
a website has many hidden operations behind it. Once this request is
received by a server, the webserver must parse the request, and find the
requested file and any related files necessary (images, scripts,
stylesheets etc.). Apache also has many other capabilities. PHP can run as
an Apache module. Apache can also handle authentication and authorization,
restricting access to certain parts of websites. One of Apache’s extended
functionalities that I use on this website is the ability to rewrite urls. In your
browser you see a very nice and informative url. This does not actually
correspond to a file on the server though. Apache takes this url and finds
the necessary files according to a rule I have specified.