This project required us to handle HTTP requests, parse and interpret configuration files, and serve static content to clients. We have collaborated closely with the talented @mcipolla to create a robust and efficient web server.
Our Webserv implementation goes beyond the mandatory requirements, exceeding all tests. We have implemented various features, including:
- Support for multiple HTTP methods, including GET, POST, HEAD, DELETE and PUT.
- Efficient handling of HTTP status codes and error responses.
- Parsing and processing of request headers and query parameters.
- Seamless serving of static files, such as HTML, CSS, JavaScript, and image files.
- Comprehensive configuration file support, allowing fine-tuning of server behavior.
- Concurrent handling of multiple client connections using non-blocking I/O.
- Advanced features, such as support for chunked transfer encoding and persistent connections.
We have thoroughly tested our Webserv implementation, ensuring its stability, performance, and compliance with web standards for HTTP/1.1.