introduction
One of the services that runs on the Internet is the WWW (World Wide Web), commonly called the web. A series of protocols such as HTTP and HTML define how the WWW works. These protocols are maintained by W3C (World Wide Web Consortium). Many millions of web sites are distributed across the Internet. Each web site is supplied by a web server and consumed using a web client. A web client is a program that can fetch resources from web sites. A web browser contains a web client.
Mozilla is an open source web browser. Opera and Microsoft Internet Explorer are closed source web browsers.
what it is
In the beginning the first ever web client was included in a web browsing and editing program called WorldWideWeb. Web browsers every since have web clients built into them. The web browser deals with the person bashing away at the keyboard, accepting URLs and handling hyperlinks. The web client has the conversation with the web server and fetches resources. Other parts of the web browser deal with these resources: HTML pages are displayed by the layout engine, music is played by a helper program and Java programs are run by a plug-in.
Web browsers such as Mozilla, Opera and IE (Internet Explorer) are both graphical web browsers which only run in a windowing environment. They can display pages in a variety of fonts and colors. Lynx is a text-based web browser that only needs a character terminal. Some companies write their own web browsers when they want more control over the user interface (the keyboard, video and mouse) and the processing that happens on the client computer.
It is actually difficult to measure which browsers are popular. Most users view websites through one type of web browser, IE (Internet Explorer). IE6 is the most popular browser in the world but that still leaves many millions of people using other browsers. Many people have not upgraded from IE5.5. Over half the browsing population now view websites on high resolution screens. The US Government still issues the antique Netscape 4 to millions of its employees. Mac users get the Safari browser with their operating system. Opera has significant market penetration in Europe. PDA browsing is on the increase.
Since web browsers have been used for so many years by so many people, there is a long history of bolting on extra bits of programs to make the browser do more interesting things. These extra programs are called plug-ins. Once it has these resources it must be able to do something appropriate with them. If the resource is music, the web browser plays it. If the resource is a java program, the web browser runs it. If the resource is a page, the web browser displays it. Web browsers also maintain lists of external programs called helper applications and what they can deal with. When the web browser receives a resource that it cannot deal with, the browser looks through this list for a program that can.
Not all web clients are web browsers. Plenty of programs are made "Internet aware" by bunging in a web client to fetch resources from the WWW. Web browsers are not just web clients. They contain other Internet clients such as FTP.
Different configurations for a browser lead to viewing the same site in different ways. Some companies do not allow javascript to be enabled. Some companies ban cookies.
Web browsers used to run on general purpose computers such as PCs and Macs. Now they run on every newfangled gadget that people use to view the WWW such as TV set-top boxes, PDAs and mobile phones.
the layout engine
All web browsers have a layout engine. This is the program that takes a printable resource and displays it nicely in a window. Printable resources are text (an HTML or XML file), layout instructions (a CSS file) and images (such as a PNG and JPEG file).
One person using two different browsers to view a web page can see two different things. The web browsers on handheld devices may arrange things differently from their desktop brothers. The layout engines in two browsers running on the same PC may make different interpretations of the code. Netscape, Internet Explorer, Mozilla or other browsers that support graphics will all lay out a pretty page but none of these pages will look exactly the same. Sometimes a page is coded to offer features that your browser doesn't support. Many web designers use nonstandard features that only work for the Microsoft Internet Explorer browser. Hardcore nerds make a connection through lynx, which supports the text and the links, but no pictures.
plug-ins and helper applications
Web browsers are laden with plug-ins. Popular ones include the animation program Macromedia Flash and the movie player RealNetworks RealPlayer.
There are plug-ins for running programs. A JVM (Java Virtual Machine) is included with every popular web browser. This runs Java programs downloaded from the WWW. The JVM makes sure these programs can't do anything dangerous. IE has a similar program for ActiveX programs. Unfortunately several security problems have been discovered over the years so ActiveX plug-ins are often disabled in companies.
The web browser chooses which plug-in to use by looking at the MIME type of a resource. The MIME type is supplied by the web server in the HTTP conversation. The browser keeps a list of which plug-ins can handle each MIME type.
If the web browser cannot deal with a resource and the browser has no plug-in to deal with it, it can use an external program. A resource that is often dealt with by an external program is an MP3 file. The browser figures out what program to use in the same way it chooses plug-ins. The browser reads a list of MIME types and programs, picks one, puts the resource somewhere the program can access it and runs the program.
Internet clients
Web browsers are not just web clients. Popular web browsers also include clients for other Internet services such as FTP and LDAP. The web browser figures out which type of client to use by reading the URL.
| example URLs | ||
|---|---|---|
| scheme | example | description |
| HTTP | http://www.netspace.org/users/dwb/url-guide.html | This is the most common format of a URL. The parts are <scheme>://<Internet host>/<file path>. |
| FTP | This is broken down like this: <scheme>://<user>:<password>@<host>/<file path> | |
| LDAP | ldap://BLD01:1389/o%3Denterprise.com | This URL has these parts: <scheme>://<host>:<port>/<LDAP search base>. The LDAP search base is "o=enterprise.com". The "=" character is not allowed in a URL so it is translated to the special code "%3D". |
what it isn't
A web client is not necessarily a web browser, although all web browsers contain web clients. Some MP3 player programs can fetch tracks from websites. They have a built-in web client to do the work. This web client is not a web browser.
where it is
Web browsers can be found in many devices that can connect to the Internet, from PCs to PDAs. They are only used in the LIC for testing.
We use two brands of web browser for testing. We need IE for troubleshooting because most customers use it. Mozilla is an open source browser that is highly configurable and sticks to standards because it was created by geek committee. It can provide lots of handy information about each HTTP conversation. We want mozilla for troubleshooting. We ignore Netscape Navigator because it is a geriatric. We ignore Opera because we can.
history
The first web clients were web browsers. Tim Berners-Lee created the first web browser in 1990 along with the first web server and, indeed, the entire WWW concept. It was a web browser called WorldWideWeb. He later renamed this to Nexus. It was a graphical viewer and editor with pointing, clicking and the whole window environment nine yards. The second browser was a line mode editor for people using telnet called the line mode browser or www. The next few were copies of the WorldWideWeb browser called "ViolaWWW", "Erwise" and "Midas". These introduced funky fonts and groovy colors.
Web browser fame and fortune arrived with NCSA Mosaic, created by Marc Andreeson and Eric Bina and released in 1993. This introduced ease of use, inline graphics, versions for UNIX, Mac and PC and hard marketing. Lynx was also released in 1993. Lynx was a text-based browser: it didn't do fonts and pictures. It has been used by nerds with character mode terminals ever since. Netscape appeared in 1994, codenamed Mozilla ("Mosaic Killer"). This introduced the rest of the concepts found in modern browsers. Microsoft Internet Explorer appeared in 1995. Opera was released in 1996. Over the next few years IE market share squished Netscape market share to a greasy spot. Netscape gave up the game and released their source code in 1998. The Mozilla project was started with this code.


