Single-threaded web server implemented in C++98(inspired by NGINX).
Developed by Daniil, Leo and Stefano.
- 16 supported error codes
- Chunked transfer encoding
- HTTP request parsing according to RFC 9112
- Configuration file with 13 configurable parameters(LIMIT_CONN, CGI_PATH ...) and unlimited servers
- Non-blocking CGI according to RFC 3875
- Multiple file uploads
- Supports cookies
- Compatible with Chrome and Firefox
- 10,000 requests per second(tested with Siege)
- Server functionality fully covered with automated tests
- Clone the repository:
git clone https://github.com/dantol29/webserver.git cd webserver
- Compile the webserver:
make
- Run the server:
./webserver
- Visit
http://localhost:8080
orhttp://127.0.0.1:8080
in your browser to view the server response.