<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>The Apache Web Server</title>
    <link rel="stylesheet" href="style.css">
  </head>

  <body>
    <? prevnext "<h1>The Apache Web Server</h1>" ?>

    <ul>
      <li>The world's most popular web server!</li>

      <li>According to <a href="http://www.netcraft.com">netcraft</a>,
	Apache accounts for around 60% of the web server market, putting
	it ahead of all other contenders combined.</li>

      <li>
	Apache is:
	<ul>
	  <li>flexible - can be configured to perform a variety of
	  tasks in disparate environments.</li>
	  <li>fast - quite competetive with other systems.</li>
	  <li>correct - standards compliant, part of standards committees.</li>
	  <li>secure - well tested, well known code.</li>
	</ul>
      </li>
    </ul>
  <?footer?>
</body>
</html>
