A multithreaded HTTP server built from scratch in C++ using the Winsock API. The server handles HTTP requests, serves static files along with standard HTTP response, designed to understand networking, HTTP Protocol, socket programming and concurrent client handling.
- TCP socket communication using Winsock
- HTTP request parsing
- Request line, headers, query parameters, and body parsing
- Static file serving
- MIME type detection
- Multithreaded client handling
- HTTP response generation
- C++17
- Winsock2
- TCP/IP
- HTTP/1.1
- Multithreading
HTTP-Server/
├── src/
├── include/
├── public/
├── main.cpp
├── Makefile
├── .gitignore
└── README.md
git clone https://github.com/Vaibhavkshyp/http-server-cpp.gitcd http-server-cppmake./serverThen open:
http://localhost:5000
TCP Sockets • HTTP • Request Parsing • Multithreading • File I/O • C++17
Vaibhav Kashyap