Novell Home

Ocean mini httpd

From Developer Community

Contents

mini_httpd

Summary

UNIX Name:        mini_httpd
Website:          http://www.acne.com/software/mini_httpd
Latest version:   1.19 - 2004-3-22


Description

Small HTTP server.


Build Instructions

A patch set is required for the following features.

  • Adds a limit to the number of concurrent connections to prevent DoS attacks (since mini_httpd is a forking web server)
  • Adds captive portal mode support
  • Sets SCRIPT_FILENAME (for php)
  • Fixes a bug where mini_httpd would exit if a TCP connection was closed before mini_httpd had a chance to handle it (ECONNABORTED)
  • Adds "index.php" to the list of index file names
  • Makes the error pages much more plain
  • Removed Server: header
  • Modify the Makefile to build mini_httpd with SSL support


Build with the following commands.

# ./extract_mini_httpd.sh
# ./build_mini_httpd.sh


Size Details

FreeBSD 6.1, GCC 3.4.4, recommended compile options.

component           size                stripped size       description
mini_httpd          49,916              49,492              vanilla
                    39,324              38,900              i386
                    39,324              38,900              i486
                    39,324              38,900              pentium
                    39,324              38,900              pentium-mmx
                    44,796              44,372              pentiumpro
                    39,324              38,900              pentium2
                    44,796              44,372              celeron-mendocino
                    44,796              44,372              pentium3
                    44,796              44,372              pentium-m
                    44,092              43,668              pentium4
                    44,092              43,668              pentium4-prescott
                    44,092              43,668              pentium-nocona
                    39,324              38,900              via-c3
                    45,372              44,948              transmeta
                    43,420              42,996              k6
                    43,420              42,996              k6-2
                    43,420              42,996              k6-3
                    44,508              44,084              athlon
                    44,508              44,084              athlon-tbird
                    44,796              44,372              athlon-4
                    44,796              44,372              athlon-xp
                    44,796              44,372              athlon-mp
                    44,796              44,372              athlon64
                    44,796              44,372              opteron
                    44,796              44,372              turion64
                    

Alternatives

apache 1 : The extremely popular Apache http server (262,088 bytes ++modules)

apache 2 : Version 2 of Apache web server (372,504 bytes ++modules)

bozohttpd : The bozotic HTTP server (39,860 bytes)

fhttpd : C++-based FTP/HTTP server that supports modules (211,140 bytes)

lighty : A secure, fast, compliant, and very flexible Web Server (169,436 bytes ++modules)

micro_httpd : An extremely small web server (8,440 bytes)

shttpd : Small, fast, embeddable web server with CGI, SSL, Authorization (42,624 bytes)

thttpd : Tiny/turbo/throttling HTTP server (77,396 bytes)

xshttpd : A webserver with CGI as own user and SSL suport (72,816 bytes)

zerowait-httpd : Lightweight and fast http server (101,676 bytes)


Justification

Its small, it works, its fork() based but runs reasonably well. The ACME web servers are among the fastest available but not recently updated. micro_httpd is from inetd so not practical for an embedded platform, thttpd does not have stock SSL support.

Lighty is another popular daemon, it has fastCGI support which speeds up server side scripting and is actively maintained. pfSense has migrated to Lighty.

Novell® Making IT Work As One

© 2009 Novell, Inc. All Rights Reserved.