TrevoLan77 / httpserver

A high performance, single threaded, HTTP server written in C++ as a learning tool. Uses kqueue for event management, therefore is MacOS / *BSD only!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HTTP Server

Ramsey Kant https://github.com/RamseyK/httpserver

A high performance, single threaded, HTTP server written in C++ to serve as a kqueue socket management and HTTP protocol learning tool on BSD systems

Features

  • Clean, documented code
  • Efficient socket management with kqueue
  • Easy to understand HTTP protocol parser (from my ByteBuffer project)
  • Tested on FreeBSD and MacOS

Compiling

  • Only BSD based systems are supported. Linux may work when libkqueue is compiled from Github sources and linked, but this is unsupported.
  • On FreeBSD, compile with gmake

Usage


$ cat server.config 
vhost=10.0.10.86,acme.local
port=8080
diskpath=./htdocs

$ ./httpserver 
Primary port: 8080, disk path: ./htdocs
vhost: 10.0.10.86
vhost: acme.local
Server ready. Listening on port 8080...

License

See LICENSE.TXT

About

A high performance, single threaded, HTTP server written in C++ as a learning tool. Uses kqueue for event management, therefore is MacOS / *BSD only!

License:Other


Languages

Language:C++ 98.6%Language:Makefile 1.3%Language:HTML 0.1%