Skip to content

yassir58/webserv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project description:

This project involves implementing a web server from scratch in C++. Through this endeavor, I gained a comprehensive understanding of how the HTTP protocol is implemented in popular web servers such as Nginx and Apache. Additionally, this project significantly deepened my knowledge of Unix network programming, providing me with practical experience in handling sockets, managing concurrent connections, and optimizing server performance.

Screencastfrom21202401180437-ezgif com-video-to-gif-converter

What is a Webserver ?

A web server is a computer system that hosts websites and delivers web pages to users' browsers upon request. It uses the Hypertext Transfer Protocol (HTTP) to communicate with browsers and serves static or dynamic content, such as HTML, CSS, JavaScript, images, and other files. Common web server software includes Apache, Nginx, and Microsoft Internet Information Services (IIS). Web servers can also handle requests for web applications and work in conjunction with databases and other backend services to deliver complete web experiences.

What is HTTP protocol ?

HTTP (Hypertext Transfer Protocol) is a protocol used for transmitting hypertext requests and information on the internet. It is the foundation of data communication for the World Wide Web, defining how messages are formatted and transmitted, and how web servers and browsers should respond to various commands. HTTP uses a request-response model, where a client (typically a web browser) sends a request to a server, which then responds with the requested resource or an error message.

What is Socket ?

HTTP (Hypertext Transfer Protocol) is a protocol used for transmitting hypertext requests and information on the internet. It is the foundation of data communication for the World Wide Web, defining how messages are formatted and transmitted, and how web servers and browsers should respond to various commands. HTTP uses a request-response model, where a client (typically a web browser) sends a request to a server, which then responds with the requested resource or an error message.

how to run project ?

make
// to run server with defaul config file
./webserv
// to run server with a specific config file
./webserv another.conf 

About

creating a web server in c++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published