scndcorp
Available
Work
École 42 ParisDeveloper, École 42 project

Webserv, an HTTP server from scratch in C++

École 42 project, a functional HTTP server coded from scratch in C++: multi-port, multi-client, GET/POST/DELETE requests, media transfers, cookies.

École 42 Paris

Challenge

Understand the HTTP protocol and low-level network programming by coding a functional web server from scratch in C++, able to serve multiple clients and multiple ports simultaneously without blocking.

Impact

  • Functional HTTP server recoded from scratch in C++
  • Multi-port and multi-client, non-blocking (I/O multiplexing)
  • GET/POST/DELETE methods, media transfers, cookies

Context

Network project from École 42 Paris, completed in 2023.

What was done

A server able to handle multiple ports and multiple clients in a non-blocking way (I/O multiplexing), to parse HTTP requests, to respond to the GET / POST / DELETE methods, to handle media transfers, cookies and a configuration (routes, ports, limits).

Stack

The technologies used on this mission.

  • C++
  • HTTP
  • Sockets
  • Multiplexage d'I/O (poll/epoll)
  • CGI

A similar project in mind?

Let's talk through your challenges and see how to turn your vision into maintainable, tested technical reality.