Components of a Website
by Aryeh Friedman and Dorothy L. Nixon

Copyright © 2014 by Friedman, Nixon, and Wong Enterprises, LLC. All rights reserved

The Internet vs. the World Wide Web

Although the Web happens to be, by far, the most popular way of using the Internet, the Web is not the same thing as the Internet. The Internet itself is a vast network of networks of computers, The Web is just one of many applications/services that can run on the Internet.

Non-web services that run on the Internet include email and FTP (File Transfer Protocol). WinSCP uses SFTP ("Secure File Transfer Protocol," i.e. FTP with encryption), or a similar protocol called SCP ("Secure Copy"). FileZilla can use either FTP or SFTP. These days most people view their email on websites such as Gmail and Yahoo, but it is also possible to receive email in other ways that don't involve websites. Email and FTP are both older than the Web.

The Internet exists as a set of standards by which machines on the many smaller networks can communicate with machines on the other networks. The World Wide Web exists as a set of standards by which the computer programs known as "web browsers" can communicate, across a network (either the Internet or a smaller network), with other computer programs known as "web servers."

There now several nonprofit organizations involved in setting standards for the Internet. These include:

For the World Wide Web, standards are set by the World Wide Web Consortium (W3C) -- although the major web browser makers have often done their own thing, a little bit different from the official standards, and have sometimes invented whole new features in an attempt to gain a competitive edge. (Incompatibilities amongst different browsers have been a longstanding source of frustration for web developers.)

Client-server model vs. other network models

Computer networks can be divided into three broad categories based on how the machines (or programs on those machines) in the network interact.

As noted above, the Internet itself uses a peer-to-peer model. However, Internet applications can use other, more specialized models. Both the World Wide Web and FTP use a client-server model.

Static vs. dynamic content

Very simple, old-fashioned websites have only static content, i.e. content that does not change in response to anything a user does, except for displaying a new page when the user clicks a link.

These days, most websites can display pages whose content can vary depending on what a user does. For example, users can log in and see content specific to themselves as individual people. Such content is said to be dynamic.

A very simple static website can be created using HTML and nothing else, if desired. A static website can also display graphics and can also use CSS (Cascading Style Sheets) to control fonts, colors, etc. This website is static.

A dynamic web page must be built using not just HTML, but also web programming of some kind. Programming languages commonly used for this purpose include Javascript, Flash (ActionScript), Java (NOT the same thing as Javascript), PHP, Ruby, and Python.

Frontend vs. backend

A web programming language may control things that happen either in the web browser or on the server. Actions that happen in the browser are considered to be frontend, whereas actions that happen on the server are considered to be backend.

Web programming languages that control the frontend include Javascript, Flash (ActionScript), and Java (when used in Java applets, which are no longer popular). Web programming languages that control the backend include PHP, Ruby, Python, and Java (when used in Java servlets, which, these days, are much more common than Java applets).

CSS is not a programming language, but is considered to be frontend also, because it controls how the HTML and graphics are displayed in a web browser.

HTML itself is frontend too. However, on many websites these days, the HTML does not come from static HTML files, but is generated dynamically on the server via one of the backend web programming languages.

If a website has a database, that's considered to be part of the backend.

A website consists of content (the information you're looking for when you go to the site) and how that information is presented (colors, fonts, etc.). In general the frontend is in charge of the presentation, whereas the backend generates the content.

More about frontends

A web brower is the "client" in the Web client-server model and thus also acts as the front end. Most, but not all, web browsers support all 3 of the following languages that almost all web sites are built on.

Note that HTML and CSS are NOT programming languages.

All web browsers, by definition, support HTML. Most web browsers also support CSS and JavaScript. Client-side web programming languages such as Flash and Java (applets) are supported via "plug-ins" to web browsers, whereas Javascript is supported directly by most web browsers.

More about backends

Some things you should know about backends:

Back to: