• It's free.

  • Compatible with HTTP/0.9 and HTTP/1.0.

  • It wont fork off a process for each incoming call.

  • Small and fast, on a Sun SPARC 5/110 running Solaris 2.4, it uses about 4Mb of memory, and serves 1000-2000 requests per minute.

  • Configurable file extension to Content-type mapping.

  • An easy-to-use GUI configuration interface is used to configure the server.

  • Object oriented; new modules can be added easily, while the server is running, and can then be configured from a simple and uniform interface. See the list of included modules for more information.

  • Built-in support for encoding and decoding of state in URL's. This simplifies scripts or modules which have to keep state between connections.

  • Any external program can be launched from any URL.

  • Can listen on many sockets for connections, and serve up to 1023 simultaneous connections on Solaris systems, and 253 on most others. The most I have seen so far is 149.
  • Has support for virtual / multiple ethernet interfaces.

  • Complex access deny/allow system for allowing/denying connections. This can be done on a per module basis, and since the "file systems" are modules, they can also be switched on and off in this way.

  • HTML code can be preparsed before it is sent to the client. This makes a few tricks possible that would otherwise be impossible. (See the complete listing or SPML extensions.)

  • Has support for many virtual servers.