In this project, I worked together with my friend, Hamid Alaqoh. Our collaboration was invaluable, as it allowed us to share our ideas and knowledge, and to learn from each other's strengths and weaknesses. We are proud of the progress we have made in this project and the insights we have gained from building a HTTP web server from scratch. We hope that this project will inspire others to learn more about web servers and the technologies that power the internet.
Our web server is a HTTP server designed for serving static and dynamic content. It is similar in functionality to popular web servers like Nginx, but with a simpler configuration and more streamlined architecture.
Our web server supports the HTTP 1.0 and 1.1 protocols, and can handle a wide range of HTTP status codes.
One of the key features of our web server is its support for CGI scripts, which allows dynamic content generation through scripting languages like Perl,PHP, Python, and Ruby. This makes it a powerful tool for building dynamic web applications.
Our web server is designed for performance and scalability, with a focus on efficient resource usage and minimal overhead. making it a great choice for high-traffic websites and applications.
Overall, our web server is a powerful and versatile tool for serving static and dynamic content, with a focus on performance, scalability, and ease of use. Whether you're building a small personal website or a large-scale web application,
We want to make it clear that our project is not intended to be used in production environments. We don't support many features and we don't handle some vulnerabilities and issues.
Our project was created for educational purposes, as a way to learn more about how web servers work, particularly in comparison to popular web servers like Nginx and Apache. While our web server can serve static and dynamic content and handle HTTP status codes, there are many security concerns that we have not addressed and we do not encourage anyone to use it in a production environment.
- HTTP 1.0 and 1.1 protocols
- most of the HTTP status codes
- multi clients.
- Can handle CGI scripts for dynamic content generation
- Easy to configure and customize
https://coggle.it/diagram/ZFjiviHgHRe8f6T2/t/request
by @justr0ma , @hamzajrifi