A lightweight HTTP web server implemented from scratch in C.
This project demonstrates low-level networking, file handling, and basic web server functionality.
- Handles basic HTTP GET requests
- Serves static files:
- HTML
- CSS
- JavaScript
- Images (JPG)
- PDF documents
- Modular project structure
- Access logging
- Custom Makefile for build automation
.
├── server.c
├── Makefile
├── public/
│ ├── css/
│ │ └── styles.css
│ ├── js/
│ │ └── script.js
│ ├── images/
│ │ └── sample.jpg
│ ├── docs/
│ │ └── sample.pdf
│ ├── home.html
│ ├── about.html
│ └── index.php
- Multithreading
- Better error handling
- HTTP POST support
- Security hardening
- Directory traversal protection
Dinu Jayatissa BSc (Hons) Computer Science Undergrad – UCSC