My favorites | Sign in
Logo
                
Code license: New BSD License
Labels: web, www, server, daemon, http, html, canopy, httpd
People details
Project owners:
  phrakt

What is Canopy?

Canopy HTTPd is a lightweight extensible HTTP server aiming for strict compliance to the HTTP 1.1 protocol and backwards compatibility for 1.0 clients.

The Canopy Web server core is entirely written in C, but modules provide interfaces that allow programmers to write their extensions using other languages such as Perl, Java or LUA.

Canopy is lightweight

The core of the Canopy server itself is just a basic HTTP/1.1 server and is kept as small as possible. Any functionality outside of the protocol's scope is maintained in dynamically-loadable modules that are only loaded on demand, thus minimizing the server's memory footprint.

Canopy is secure

The server makes use of several techniques such as jailing and privilege separation to limit potential security risks to a minimum. The code base is also kept very clean with regards to string handling and bounds checking, and all dangerous functions (such as strcpy(), strcat() and sprintf()) are avoided.

Canopy is portable

The entire source tree follows strict compliance to the POSIX, X/Open Group and ANSI C specifications. In the case of non-standard functions (such as strdup() and strlcpy()), source code is included for systems which do not provide these functions. System-dependent functionality is located inside generic wrappers to simplify portability.

Canopy is flexible

Although the server core only supports the basic features of HTTP/1.1, the module API allows programmers to write external modules that can modify the behaviour of the server or add new functionality altogether. This means that you can easily adapt your installation for the needs that you have.









Hosted by Google Code