Skip to content

FrancescoRocca/cws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

128 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cws

A minimal HTTP web server written in C.

Note: 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

  • myclib (on my profile)
  • tomlc17
  • doxygen (optional, for documentation only - requires dot)

Build

meson setup build
meson compile -C build

Usage

  1. Copy config.yaml and www/ directory to your working directory
  2. Run ./build/cws
  3. Open http://localhost:3030 in your browser

Documentation

git submodule update --init
doxygen

Then open docs/html/index.html.

Roadmap

  • Virtual hosts support
  • Minimal templating engine
  • IPv6 compatibility

Performance

Tested with goku (-c 400 -d 30):

Concurrency level 400
Time taken 31 seconds
Total requests  365363
Mean request time 22.665250723253322 ms
Max request time 2067 ms
Min request time 0 ms
95'th percentile: 20 ms
99.9'th percentile: 1078 ms
200 OK 365363

About

A minimal Web Server (wip)

Topics

Resources

License

Stars

Watchers

Forks