blob: 8afda8a410af80a12730e0e556f2d9e669b48954 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
Features of hittpd:
- Asynchronous poll(2) loop
- Uses the robust http-parser of node.js
- Directory Indexes
- HTTP 1.0 and HTTP 1.1 support
- Ranges (basic variants only)
- If-Modified-Since
- Keep-Alive (but no pipelining)
- IPv6
- sendfile(2) on Linux
- Virtual Hosts
- ~user directories
- NCSA compatible log format
- Connection timeouts
- Portable code
- MIT licensed
- less than 3kloc total
Anti features:
- No daemonization, no pidfiles, use a service supervisor
- No config files
- No CGI support
- No SSL, use behind hitch or the like
- No setuid, if you want to bind to a low port, use (on Linux)
capsh --keep=1 --user=www-data \
--inh=cap_net_bind_service --addamb=cap_net_bind_service -- \
-c '/usr/local/bin/hittpd /srv/http'
Other nifty small webservers to look at:
- thttpd
- bozohttpd
- darkhttpd
|