Home | Overview | Download | Source Extracts | Project | Contact


Introduction
------------

The purpose of this tiny project is:

- to produce the smallest and simplest webserver possible satisfying the
  requirements (see below);

- to provide an insight into the HTTP protocol;

- and to produce a very simple project built using the GNU configure and build
  tools.


The requirements of this simple webserver are:

- really easy to deploy: just a single executable to which the content is
  passed as a parameter (one directory), along with the optional port number;

- to use very little in the way of machine resources;

- to be secure from hack attacks which attempt to gain access to the server
  machine;

- to be able to log as much as possible about client requests.


Usage
-----

	twsws [-p port] [-l log_path] directory

Serves the directory specified.  Listens on optional port parameter, which
defaults to 80.  Log output is written to log_path, if specified.

The file extensions which are currently recognised are limited to those listed
in EntityType.cpp.  Any other extension is not served up for extra security.

Examples:

	twsws .
	twsws -p 8080 -l /tmp/twsws.log /home/fred/wwwroot


TODO
----

Make twsws multi-threaded to cope with many requests at once without breaking
the limit machine resource usage requirement.


Nuvovis

SourceForge Logo