Skip to content

This project is about writing your ow HTTP server. You will be able to test it with an actual browser. HTTP is one of the most used protocols on the internet. Knowing its arcane will be useful, even if you won’t be working on a website.

Notifications You must be signed in to change notification settings

OussamaBOUIZ/WebServ

 
 

Repository files navigation

Webserv

This project is about implementing a HTTP web server, with C++. The server is able to serve a variety of types of file, it supports 3 basic methods which are GET, POST and DELETE.

The core operation in this program is the implementation of Multiplexing. This is a technique for handling multiple communication streams over a single comminucation channel or a single network socket. In the context of network programming, multiplexing refers to the ability of a single process or thread to handle multiple connections simultaneously. This was possible through the sockets API, especially the select() function.

Concerning the code architecture we have applied the OOP paradigm, as much as possible. This was one of the great things in this project. We have conceptualize entities that we see as conerstones of the program, we got two main directories Interfaces and Implementations. Interfaces contained the classes definitions and Implementations contained the classes implementations, as the name tells. Going this way, was pretty beneficial in many aspects, for instance debugging, memory management and software enhancement.

About

This project is about writing your ow HTTP server. You will be able to test it with an actual browser. HTTP is one of the most used protocols on the internet. Knowing its arcane will be useful, even if you won’t be working on a website.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 57.1%
  • C++ 32.4%
  • Sass 5.7%
  • JavaScript 2.4%
  • SCSS 1.0%
  • PHP 0.8%
  • Other 0.6%