srVR is a minimal HTTP server written in plain C, designed to teach how HTTP and TCP sockets work under the hood, without frameworks or external libraries.
It is tiny, simple, and educational — perfect for learning low-level networking and HTTP basics.
srVR demonstrates:
- TCP socket programming in C (POSIX)
- Minimal HTTP parsing
- Static file serving (HTML, CSS, images)
- Single-threaded request handling and optional event based implementation
It is not a production-ready server, no advanced HTTP features yet, just the fundamentals.
- Raw TCP sockets, no external dependencies
- Serves static files from a folder
- Handles HTTP GET - POST requests
- Minimal HTTP parsing: only enough to serve files
- Educational focus — easy to read and extend
- POSIX-compliant system: Linux, macOS, BSD
- GCC or any standard C compiler
gcc -o srVR src/srVR.c
./srVR- The server listens on a specified port (default in code)
- Place your static files (HTML, CSS, images) in the serving folder
- Access from your browser:
http://localhost:<port>/index.html
srVR is ideal for:
- Understanding raw TCP socket communication
- Learning HTTP request/response mechanics
- Practicing C network programming
- Gaining insight into server architecture without frameworks
Warning
🚧 Work in Progress This project is built during my free time after work, so updates might be irregular. Development can occasionally pause depending on the complexity and the time required. Sometimes I’m also diving into books or other materials to better understand certain parts before continuing. Appreciate your understanding.