Web Acronyms
As a web user, you should know a little about how browsers work.
Often, they are evaluated and described by way of acronyms. The
purpose of this article is to list the most important ones, expand
them and put them into a context. It was written for Opera employees and board members but
I hope it can be useful for others as well.
Web browsers started out as quite simple programs in the early
1990’s. Now, 15 years later, they have become much more advanced
with many interesting features. The basic functionality, however, is
the same: a browser fetches web pages from web servers on the internet
and displays the information to the user.
To accomplish this task, many acronyms are hard at work:
- A web page is (almost always) an HTML (HyperText
Markup Language) document. HTML is a simple language that add tags in
between text, e.g., to <em>emphasize</em> certain words. The
previous sentence has two tags: <em> and </em> which forms
one element. Examples of other popular HTML elements are h1 (heading
level 1), p (paragraph), ul (unordered list), and li (list item). The
first version of HTML was developed by TimBL (Tim
Berners-Lee) at CERN around 1990.
CERN (once it was Conseil Européen pour la Recherche Nucléaire) is a
physics laboratory outside of Geneva on the border between France and
Switzerland. TimBL is often credited for inventing the Web.
- To transfer the web page from the web server, the browser will use
HTTP
(HyperText Transfer Protocol). An HTTP connection allows the browser
to say «I want that document and that image» and the server will
respond with, for example, «ok, here you are» or «not found». Each
response message has an associated number. It’s good to know
that the number for «not found» is 404. You can impress your friends
by using this knowledge in casual conversations. For example, when
they ask if there is more beer in the fridge, you can answer
«four-oh-four». To impress Opera’s
CEO, you could note that even if his mobile phone number starts
with «404» he often answers his phone. TimBL developed HTTP.
- In order to know what to ask the server for, the browser must know
the URL (Universal
Resource Locator or Uniform Resource Locator). Here is a typical URL:
http://www.opera.com
You can type a URL into the address field of a browser. You can
leave out the «http://» part — it will automatically be
added by the browser. Many great people have spent a great number of
hours coming up with new great new acronyms to replace the URL
acronym. The only one worth mentioning at this point is URI (Uniform
Resource Identifier) which, for all practical purposes, is the same as
a URL. And, yes, the concept of URLs was developed by TimBL.
When TimBL had created all this, people on a mailing-list called www-talk got
very excited. Many of them started making web browsers. The most
famous among the early ones was Mosaic, developed at NCSA (National Center for
Supercomputing Applications). Mosaic was the first browser that could
display images. This was accomplished by adding the <img>
element to HTML, thereby starting a long line of extensions to the
original HTML language.
Today, three different image formats are widely used on the web:
- GIF (Graphics Interchange Format) is used for logos, line drawings and simple animations
- JPEG (developed by the Joint Photographic Experts Group) is used for photographs
- PNG (Portable Network Graphics) is a patent-free successor to GIF, but without animations. However, it has better support for transparency and can represent more colors.
Early web authors loved images. Images gave authors a control they
always yearned, which the text-based HTML didn’t give them. So,
they started making images of text to style the text in the right
colors and fonts. This was not such a good idea as images are hard to
read for machines (like Google)
and the visually impaired. To give authors a better alternative, style sheets for the web were introduced:
- CSS (Cascading Style Sheets) describes how elements in HTML are to be displayed. For example, CSS can express that all <h1> elements are to be displayed in red, using a sans-serif font:
h1 { color: red; font-family: sans-serif }
CSS was first proposed by Opera’s CTO (Chief Technology Officer) Håkon Wium Lie while he was working at CERN in 1994. «Ericsson» is the only word he knows that has «CSS» in it.
Also, all modern browsers support these features:
- JavaScript is a programming language. Programming languages are powerful languages that can cause much pain and grief. JavaScript is no exception. Also, however, JavaScript has allowed the web to develop into a platform. In the past, programmers developed software for Windows or Linux or Mac. Today they develop software for the web and this would not have been possible without a programming language like JavaScript. JavaScript is sometimes called ECMAScript (after ECMA, the organization that standardized JavaScript; ECMA was once known as the European Computer Manufacturers Association). JavaScript was first developed by Brendan Eich at Netscape, now the CTO of Mozilla.
- XMLHttpRequest is a way for JavaScript programs to communicate with web servers. It’s a long and complex name for something quite simple and important. It was developed by a nameless Microsoft employee.
- DOM (Document Object Model) describes how JavaScript can talk to HTML and CSS.
- SSL (Secure Sockets Layer) and TLS (Transport Layer Security) are protocols which provide encrypted, secure communications on the web. When these protocols are used, the URL will start with «https» instead of «http».
- XML (Extensible Markup Language) is a generalization of HTML. XML has tags with square brackets around them, just like HTML. Unlike HTML, there is no sanctioned list of elements. A dialect of HTML known as XHTML (Extensible HyperText Markup Language) uses the syntactic rules XML, and the element names of HTML.
The acronyms mentioned up to now are required components of a modern browser. If we left one of them out, pages would stop working. One acronym which, in an informal way, encompasses all of the above acronyms is AJAX (Asynchronous JavaScript and XML). Personally, I prefer to call it AJACS (Application in JavaScript, HTML and CSS) Before AJAX, there was DHTML (Dynamic HTML) which meant roughly the same thing.
The future will bring us more acronyms and technologies. Like always, most of them will fail, but some might stick. Here are two contenders that Opera support:
- SVG (Scalable Vector Graphics) is a language for describing images that are made up of lines (rather than pixels). SVG is, for example, suitable for business graphics and it also supports animation.
- the canvas element is not an acronym, but it’s still cool. A canvas element is a rectangle on the screen which JavaScript can draw on. You can, e.g., use the canvas element to implement video games from the 70s. The canvas element is described by the WHAT WG (Web Hypertext Application Technology Working Group).
Opera is more than a web browser, it’s also an email and chat program. And you can use it to read RSS feeds and to fetch bittorrents. These technologies are supported:
- POP (Post Office Protocol) is used to fetch email from email servers, much like HTTP is used to fetch web pages from web servers.
- IMAP (Internet Message Access Protocol) does what POP does, and a little more.
- SMTP (Simple Mail Transfer Protocol) sends email in the other direction: from Opera to an email server somewhere.
- RSS (choose one of: Really Simple Syndication, Rich Site Summary, RDF Site Summary, Real-time Simple Syndication) is a data format for web sites to publish summaries of web content together with links to the full versions of the content. If you add an RSS «feed» in Opera, Opera will keep an eye on the feed and tell you when new new content is added. Another format that does the same thing and a little more is «Atom» (which is just a name).
- IRC (Internet Relay Chat) is a protocol for groups of people to «chat» by writing short text messages into «channels».
- «Bittorrent» is not an acronym, but it’s still amazing. Instead of the traditional client/server model where a client (a.k.a a browser) fetches content from the server, bittorrent turns each client into a server. So, instead of asking the originating server for a document (or, more often, a song or movie) you would ask other clients for the same content. This way, the originating server doesn’t have to provide the transmission capacity (known as «bandwidth») for all the content, and downloads will therefore be faster.
One final acronym: W3C (World Wide Web Consortium) is an organization that generates acronyms for a living. Also, sometimes, it maintains existing acronyms. Opera is a W3C member and we participate in several of its working groups. Charles McCathieNevile, Opera’s CSO (Chief Standards Officer) and myself used to be W3C staff members. TimBL is W3C’s director.
howcome, May 2006