A web browser is a software application that enables users to access the World Wide Web (WWW) or the Internet. Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Opera and Safari are some examples of widely used web browsers.

To do this, a web browser must provide the following capabilities:

  • A web browser must be able to understand data protocols utilized by web servers, such as HTML and XHTML.
  • A web browser must be able to format (or render) the output of these languages.

Web Browser Protocol Support

All web browsers must support the HTML (HyperText Markup Language) protocol. HTML is now in its 4th edition, and all recent web browsers should support HTML4.

CSS (Cascading Style Sheets) is a protocol which enables web designers to quickly build attractive web pages by separating design from content. CSS1 is supported by most modern web browsers. CSS2 support is lacking in some browsers, specifically Microsoft Internet Explorer.

XHTML (eXtensible HyperText Markup Language) represents a merger of HTML and XML (Extensible Markup Language). XHTML has been an accepted standard since 2000, but support for XHTML is still not present in all web browsers.

RSS (Really Simple Syndication) is a relatively new standard which enables web content providers to syndicate content and make it available for distribution on other web sites. Web browsers such as Mozilla Firefox and Safari support the RSS protocol.

Graphical and Text Web Browsers

Most web browsers provide a graphical interface to the web. These browsers include Microsoft Internet Explorer, Mozilla Firefox, Opera, Safari, Netscape Navigator, and Konqueror.

A few web browsers provide only a text interface to the web. These browsers provide higher performance on low bandwidth links and support a much wider range of hardware than graphical web browsers. Popular browsers in this category include Lynx and e-links.

Web Browser Rendering Engines

The task of a web browser rendering engine is to display a web page to the user.

A rendering engine should have three goals in doing this:

  • The web page should be rendered in compliance with Internet standards (HTML, XHTML, CSS, etc…).
  • The web page should be rendered the way the web designer intended for it to be rendered.
  • The web page should be rendered to be viewable by the user.

These three goals often come into conflict with each other. For example, a web designer may intend for two elements of a web page to be side by side — but the web browser may be a mobile telephone whose screen is not large enough to display the two elements beside each other.