81bdd2acda433ec44b68d891c5fe4c02005a3e26
cws
A minimal web server. This is a personal project; it is not intended to be a production-ready tool, nor will it ever be. Use it at your own risk.
Requirements
How to build
$ meson setup build
$ cd build
$ meson compile
And then run cws!
Docs
$ git submodule update --init
$ doxygen
And then open the docs/html/index.html.
Roadmap
- HTTPS support with TLS
- Support for virtual hosts
- CLI args
Future
- Custom web pages (404)
- IPv6 compatible
- Multithreading to handle concurrent requests
- Logging
- Compression (Gzip)
- Reverse proxy
- PHP-FPM
Performance
This test was performed using wrk.
Running 30s test @ http://localhost:3030
12 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 3.45ms 2.37ms 91.92ms 95.45%
Req/Sec 10.08k 1.33k 19.57k 82.30%
3621422 requests in 32.47s, 2.55GB read
Socket errors: connect 0, read 0, write 0, timeout 395
Requests/sec: 111514.25
Transfer/sec: 80.51MB
Languages
C
71.6%
HTML
26.5%
Meson
1.9%