Webserv
A home school made web server
It is a school project where we had to create a web server that could work with the HTTP standard.
We were three members on this project, which taught me a lot about team work, and git. We coordinated the team using mainly Notion.
There were four major parts to this project:
- Working with sockets: The communication with the client uses linux sockets, which we had to learn how to use.
- Parsing: The web server needed two parsers: one for the configuration file, and one for the input we received from the client.
- Error management: a big part of selecting pages in a server is… not finding them, so we had to create a very solid error management system to always fail gracefully. C++’s try-catch blocks came in very handy!
- External programs: The server had to handle CGIs (running external programs using input from the client) so we had to setup a way for our program to launch external programs, and use their ouput as the response to send to the client.