|
dpfTVS was written in C++ from scratch and it has the normal features like support for
CGI or the so called cheap virtual-servers. It supports some kind of user
identification, but not in the rfc defined way. And so on. The thing I needed was a
MUGI interface. This is short for "my uncommen gateway interface". Basically
it provides a routing like service, shoving the complete request data via a tcp socket to an already running program. It
doesn't really matter where this demon is located, it can reside on the same machine, somewhere in a lan or even some place
else in the internet. It will however act as a buffer to the users out there, so the body size of a request will be known
in advance, the response will be checked against ETAGS and provided timestamps to ensure that only needed data goes to the
browser. Of course byte-ranges are processed too. A mugi can order the server to send a file, even ones outside the regular
allowed directories or create a loopback to an internal location to be processed instead. So a mugi can also be used as a
filter. CGI scripts need a lot system resources and are therefor slow. A MUGI request is more than 10 times faster done. As
a MUGI is only started once it can make use of extensive configuration files and often needed data can be loaded/cached in
advance making it a lot more flexible than a CGI script. It also only uses 1 socket, where CGI needs at least 2 pipes. |
What it supports:
What it doesn't support:
(*) are things I plan to add in the near future (~) are things that might be added eventually (?) you guessed right, don't know yet, give me your opinion (-) not planned to be added (d) is actually already built in, but disabled due to the incomplete user-management (t) is currently closed alpha tested |