Bu proje, yalnızca C++ ve POSIX soketleri kullanılarak sıfırdan yazılmış basit bir HTTP 1.1 sunucusudur.
Amaç, düşük seviye ağ programlama ve HTTP protokolü mantığını öğrenmektir.
- HTTP/1.1 desteği
- GET isteklerini işleme
- Temel yönlendirme ("/" ve "/about")
- Connection: keep-alive & close yönetimi
- Tamamen STL + POSIX ile yazılmıştır
- Çoklu istemci desteği
mkdir build && cd buildcmake ..make./serverBu proje aşağıdaki konuların öğrenilmesi için uygundur:
- TCP/IP temelleri
- HTTP protokol yapısı
- Soket programlama (bind, listen, accept, recv, send)
- HTTP isteklerinin parse edilmesi
- C++ stream ve string işlemleri
- Çoklu istemci desteği (
std::threadveyaselect()) - POST istek desteği
- Statik dosya sunumu (HTML, CSS, JS)
- Loglama sistemi
- Basit web API yapısı
- Komut satırı argümanlarını parse etme (--port, --root, --help)
- Port ve statik klasör yolunun Config nesnesi ile dinamik yönetimi
- Sisteme global kurulum desteği (sudo make install)
- Yapılandırılmış loglama sistemi (Hata ve erişim kayıtları)