Skip to content

dantol29/webserver

Repository files navigation

Webserv

Single-threaded web server implemented in C++98(inspired by NGINX).

Introduction

Developed by Daniil, Leo and Stefano.

Features

  • 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

Usage

  1. Clone the repository:
    git clone https://github.com/dantol29/webserver.git
    cd webserver
  2. Compile the webserver:
    make
  3. Run the server:
    ./webserver
  4. Visit http://localhost:8080 or http://127.0.0.1:8080 in your browser to view the server response.