SWS

Overview

Welcome to our high-performance web server, built in C, as part of our software engineering portfolio project!
As software engineering students, we've designed and built our web server to deliver lightning-fast static content with high reliability and efficiency.

Our server is optimized for maximum performance and minimal overhead, making it the ideal choice for hosting your static content. We offer a user-friendly interface that allows you to quickly and easily upload your static content, with support for multiple file types and MIME types, including HTML, CSS, JavaScript, images, and more.
With our powerful C programming language implementation, you can rely on our server to deliver high reliability and efficiency. Our web server is the perfect solution for your static content needs, whether you're a developer, a content creator, or a business owner. So, give it a try today and experience lightning-fast and reliable static content delivery like never before, while helping us showcase our skills as software engineers.
web server

Features

1. Support for HTTP 1.1: The web server would need to support the HTTP 1.1 protocol, which is the most recent version of HTTP.
2. Handling of GET requests: The web server would need to be able to handle GET requests, which are used to retrieve resources such as web pages and images.

3. Response headers: The server would need to generate appropriate response headers, such as "Contene-Type" and "Content-Length", to inform the client about the nature of the response and its size.
4. Status codes: The server would need to generate appropriate status codes, such as 200 OK, 404 Not Found and 500 Internal Server Error, to inform the client about the success or failure of the request.
web server

About

Technologies used

Language: The language of choice used in the development of the server is C.
Why C language?
We made use of C language because it provides low-level control over the networking stack and system resources.

Libraries: The libraries used in the development of the server are:
1. libuv: A cross-platform asynchronous I/O library that provides a high-level abstraction for managing networking and file I/O operations.
2. HTTP Parser: A small, fast, and easy-to-use library for parsing HTTP messages in C applications. It is designed to be lightweight and efficient, making it ideal for use in embedded systems or other resource-constrained environments.

View project Repository

web server

Contributors

profile image

Noad Ararsa

Noad Ararsa is a talented software engineer and a student at ALX-Africa SE. He played a pivotal role in the development of the simple web server. Noad's exceptional planning, coding and testing skills were instrumental in bringing the project to life.

With his contribution, our web server is reliable, efficient and is built to meet the needs of today's businesses.
view profile
profile image

Nnachi Kingsley Chima

Nnachi Kingsley Chima is a computer scientist of Alex Ekwueme Federal University and also a software engineering intern at ALX-Africa. He contributed to the project by creating the GitHub repo and developing the frontend of the web server.

Kingsley is a creative thinker that have passion to give back to his community by solving problems. He is a strong volunteer of #TechForAll initiative and is a currently a frontend developer and also a software engineer in training. He believes with the skills he has acquired, he can be able to do hard things and solve the world biggest problems using technology.
view profile
profile image

Stephen Chidiebere Obialor

Stephen Chidiebere Obialor is a medical doctor and Software Engineering student at ALX-Africa. He contributed to the project by coding, testing, and debugging the web server.

With a passion for innovation and a desire to solve problems, Stephen is committed to finding better ways to make a difference in people's lives, particularly in Africa. As an ALX software engineering student, he has developed problem-solving skills that will help him bring even more solutions to healthcare and beyond.
view profile