Servidor HTTP basico en C++ para Windows que sirve archivos estaticos desde la carpeta www.
- Windows
- g++ (MinGW/TDM-GCC) disponible en PATH
Para validar que tienes g++:
g++ --versionmini-http/
|-- main.cpp
|-- HttpServer.h
|-- HttpServer.cpp
|-- HttpRequest.h
|-- HttpRequest.cpp
|-- HttpResponse.h
|-- HttpResponse.cpp
|-- tasks.json
|-- launch.json
`-- www/
|-- index.html
|-- styles.css
`-- app.js
Desde la carpeta del proyecto:
g++ -std=c++17 -pthread main.cpp HttpServer.cpp -lws2_32 -o MiniHttpServer.exe💡 Nota: en Windows es obligatorio enlazar
-lws2_32para sockets.
.\MiniHttpServer.exeSi todo va bien veras:
Servidor escuchando en puerto 8080
Abrir:
Esto carga index.html y sus recursos:
/styles.css/app.js
curl.exe -i http://127.0.0.1:8080/
curl.exe -i http://127.0.0.1:8080/styles.css
curl.exe -i http://127.0.0.1:8080/app.jsEn la terminal donde esta corriendo:
Ctrl + C
-
Error de enlazado
undefined reference to __imp_listeno__imp_accept- ❌ Falta
-lws2_32en el comando de compilacion.
- ❌ Falta
-
El navegador no carga cambios de CSS o JS
- 🔄 Recarga forzada con
Ctrl + F5.
- 🔄 Recarga forzada con
-
Puerto 8080 ocupado
- 🔁 Cambia el puerto en
main.cpp.
- 🔁 Cambia el puerto en
g++ -std=c++17 -pthread main.cpp HttpServer.cpp -lws2_32 -o MiniHttpServer.exe
.\MiniHttpServer.exeGilberto Galán — Mini HTTP Server en C++17 para Windows.
Distribuido bajo la licencia MIT. © 2026 Gilberto Galán.