Skip to content

FrancescoRocca/cws

Repository files navigation

cws

A minimal web server written in C. 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

# inside the cws directory
$ git submodule update --init
$ doxygen

And then open the docs/html/index.html.

Roadmap

  • Understanding basic web server concepts
  • Basic server
  • CLI args
  • Enhance web server
    • IPv6 compatible
    • Request parser
    • Serve static files
    • Implement Keep-Alive
    • Multithreading
    • Logging
  • Advanced
    • HTTPS support
    • Caching

Resources

You can find my journey inside the notes directory.