There are many browser products available, and each browser product has different features. The two most popular windowing-based browsers are Netscape and Internet Explorer. While we won't describe all the features of web browsers, they have a common basic set:
-
All web browsers are HTTP clients that send requests and display responses from web servers (usually in a graphical environment).
-
All browsers interpret pages marked up with HTML when rendering a page; that is, they present the headings, images, hypertext links, and so on to the user.
-
Some browsers display images, play movies and sounds, and render other types of objects.
-
Many browsers can run JavaScript that is embedded in HTML pages. JavaScript is used, for example, to validate a
<form>
or change how a page is presented based on user actions. -
Selected web browsers can run components developed in the Java or ActiveX programming languages. These components often provide additional animation, tools that can't be implemented in HTML, or other, more complex features.
-
Several browsers can apply Cascading Style Sheets (CSS) to HTML pages to control the presentation of HTML elements.
There are subtle-and sometimes not so subtle-differences between the capabilities different browsers have in rendering an HTML page. Lynx, for example, is a text-only browser and doesn't display images or run JavaScript. MultiWeb is a browser that renders the text on a page as sound-the spoken word-providing web access for the vision-impaired. Many subtle but annoying differences are in the support for CSS and the features of the latest HTML standard, HTML 4.
Web browsers are the most obvious example of a user agent, a software client that requests resources from a web server. Other user agents include web spiders-automated software that crawls the Web and retrieves web pages-and proxy caches, software systems that retrieve and locally store web pages on behalf of many other user agents.
Pointers to resources that describe HTML, how to author web pages, and the direction of web page standards are included in Appendix E. We introduce JavaScript client-side scripting for validation of data entry and manipulating the web browser in Chapter 7.