Skip to content

StijnScheltinga/webserv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

130 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webserv – A Custom HTTP Web Server from Scratch

The Webserv project is a challenging system programming assignment where students build a fully functional HTTP web server from the ground up in C++ (or C). Inspired by real-world web servers like NGINX and Apache, the goal is to understand the inner workings of web servers and network communication.

Key Features:

  • Handles HTTP requests and responses (GET, POST, DELETE, etc.).
  • Supports CGI (Common Gateway Interface) for dynamic content (e.g., running PHP scripts).
  • Implements error handling, timeouts, and request limits.
  • Supports configuration files, allowing users to define server behavior.
  • Manages multiple clients concurrently using non-blocking I/O (e.g., select(), poll(), or epoll()).

By completing this project, students gain deep knowledge of networking, sockets, and HTTP protocols, preparing them for backend development, DevOps, and system-level programming. It’s one of the most complex and rewarding projects in the 42 curriculum!

Usage

Simply clone the project and run make in the project root.
Then run the server providing the example config file.

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages