Servidor web de alto rendimiento, proxy inverso, balanceador de carga, API gateway y caché de contenido escrito en C.
yhirose/cpp-httplib
Biblioteca de C++11 en un solo archivo de cabecera para crear servidores y clientes HTTP/HTTPS con E/S de sockets bloqueante.
- Estrellas
- 16,923
- Forks
- 2,777
- Issues abiertos
- 0
- Último commit
- hace 17 horas
¿Qué es?
cpp-httplib es una biblioteca multiplataforma de C++11 que ofrece un servidor y un cliente HTTP/HTTPS. Se distribuye en un único archivo de cabecera, httplib.h, así que para añadirla a un proyecto solo hay que incluir ese archivo. Usa E/S de sockets bloqueante y solo admite HTTP/1.1; no implementa HTTP/2 ni HTTP/3.
La biblioteca incluye enrutamiento con parámetros de ruta y expresiones regulares, publicación de archivos estáticos con asignación de tipos MIME, formularios multipart y carga de archivos, transferencia fragmentada y proveedores de contenido en streaming, conexiones keep-alive y hooks de estilo middleware, como controladores previos y posteriores al enrutamiento y controladores de excepciones. La documentación presenta Server-Sent Events y WebSocket como funciones adicionales.
TLS está disponible mediante OpenSSL (3.0 o posterior), Mbed TLS o wolfSSL, seleccionados con una definición en tiempo de compilación. También incluye controles de verificación de certificados, TLS mutuo y, en macOS y Windows, integración con el almacén de certificados del sistema.
Funciones clave
- 01Inclusión desde un único archivo de cabecera, sin dependencias de compilación para el uso básico de HTTP
- 02Servidor y cliente HTTP en una sola biblioteca
- 03HTTPS mediante OpenSSL, Mbed TLS o wolfSSL
- 04Enrutamiento con parámetros de ruta y expresiones regulares
- 05Publicación de archivos estáticos, cargas multipart y respuestas fragmentadas o en streaming
- 06TLS mutuo y controles de verificación de certificados
Casos de uso
- Añadir un endpoint HTTP integrado y ligero a una aplicación C++ sin incorporar un framework grande
- Crear un cliente C++ que consuma API REST a través de HTTPS
- Publicar archivos estáticos o API web sencillas desde una herramienta C++
- Crear un prototipo de servicio HTTP local en un proyecto C++ con una configuración mínima
Inicio rápido
- 1
Descarga el archivo httplib.h del repositorio
- 2
Incluye httplib.h en tu código C++ y compila un servidor o cliente como se muestra en los ejemplos
Antes de usarlo
- Utiliza E/S de sockets bloqueante, por lo que no es adecuado para diseños no bloqueantes.
- Solo admite HTTP/1.1; HTTP/2 y HTTP/3 no están implementados.
- No admite plataformas de 32 bits y no se somete a revisiones de seguridad.
Temas
Preguntas frecuentes
- ¿Qué es cpp-httplib?
- Biblioteca de C++11 en un solo archivo de cabecera para crear servidores y clientes HTTP/HTTPS con E/S de sockets bloqueante. cpp-httplib es una biblioteca multiplataforma de C++11 que ofrece un servidor y un cliente HTTP/HTTPS. Se distribuye en un único archivo de cabecera, httplib.h, así que para añadirla a un proyecto solo hay que incluir ese archivo. Usa E/S de sockets bloqueante y solo admite HTTP/1.1; no implementa HTTP/2 ni HTTP/3.
- ¿cpp-httplib es gratuito? ¿Qué licencia tiene?
- cpp-httplib es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿cpp-httplib sigue mantenido?
- Mantenimiento activo. El último commit de cpp-httplib fue el 22 oct 2026.
- ¿Para qué puedo usar cpp-httplib?
- Añadir un endpoint HTTP integrado y ligero a una aplicación C++ sin incorporar un framework grande Crear un cliente C++ que consuma API REST a través de HTTPS Publicar archivos estáticos o API web sencillas desde una herramienta C++ Crear un prototipo de servicio HTTP local en un proyecto C++ con una configuración mínima
- ¿Cómo se instala cpp-httplib?
- Descarga el archivo httplib.h del repositorio Incluye httplib.h en tu código C++ y compila un servidor o cliente como se muestra en los ejemplos
- ¿Dónde consigo cpp-httplib?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/yhirose/cpp-httplib
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Caddy es un servidor web extensible escrito en Go que sirve HTTP/1.1, HTTP/2 y HTTP/3, y habilita HTTPS automáticamente de forma predeterminada.
Implementación rápida de servidor y cliente HTTP para Go, diseñada para cargas de alto rendimiento y pocas asignaciones de memoria.
Biblioteca C++ de solo cabeceras para analizar rápidamente y con exactitud valores float, double y enteros a partir de cadenas; implementación de from_chars compatible como reemplazo directo.
Microframework de C++ rápido y al estilo de Flask para crear servicios web HTTP y WebSocket; solo requiere archivos de cabecera y es fácil de usar.
Un framework web minimalista y de alto rendimiento para Go, basado en el paquete estándar net/http.