/webserv

Project coding my own HTTP server in C++ according to RFC 7230-7235. Implementing the most common HTTP headers, compressions and nginx-like config file.

Primary LanguageC++

Webserv

Project coding a non-blocking HTTP server in C++ according to the RFC specifications 7230-7235. The primary function of a web server is to store, process and deliver web pages to clients. The server will listen on one or more ports for HTTP Request that at a minimum look like this:

GET / HTTP/1.1
Host: localhost

Dependencies

Needs cmake to compile. Run cmake . ; make.

Links

Implemented methods:

  • GET
  • HEAD
  • POST
  • PUT
  • DELETE

Implemented HTTP Headers:

  • Accept-Charsets
  • Accept-Language
  • Allow
  • Authorization
  • Content-Language
  • Content-Length
  • Content-Location
  • Content-Type
  • Date
  • Host
  • Last-Modified
  • Location
  • Referer
  • Retry-After
  • Server
  • Transfer-Encoding
  • User-Agent
  • WWW-Authenticate

BONUSES:

  • workers as processes
  • plugins
    • gzip
    • deflate
    • add in config
    • load through terminal
  • Make routes work with regexp
  • Configure a proxy to an other http/https server