Compresión Brotli
🗜️ Compresión Brotli
Sección titulada «🗜️ Compresión Brotli»Este ejemplo muestra cómo habilitar compresión Brotli en tu servidor Zuno usando la extensión compression
. Esto reduce el tamaño de las respuestas y mejora significativamente los tiempos de carga, especialmente para archivos estáticos o respuestas grandes.
🧱 Estructura del Proyecto
Sección titulada «🧱 Estructura del Proyecto»compression-example/├── CMakeLists.txt└── main.cpp
📄 CMakeLists.txt
Sección titulada «📄 CMakeLists.txt»cmake_minimum_required(VERSION 3.20)project(compression_example)
set(CMAKE_CXX_STANDARD 20)set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(FetchContent)
FetchContent_Declare(zunoGIT_REPOSITORY https://github.com/ZunoFramework/zuno.gitGIT_TAG main)
FetchContent_MakeAvailable(zuno)
add_executable(compression-example main.cpp)target_link_libraries(compression-example PRIVATE zuno)
📄 main.cpp
Sección titulada «📄 main.cpp»#include <zuno/zuno.hpp>#include <zuno/extensions/compression.hpp>
int main() {zuno::App app;
// Habilitar compresión Brotli para todas las respuestasapp.use(zuno::compression());
app.get("/", [](auto& req, auto& res) { res.send("Esta respuesta será comprimida si el cliente lo soporta.");});
app.listen(3000);}
🧪 Probar la Compresión
Sección titulada «🧪 Probar la Compresión»Puedes verificar si la compresión está funcionando con curl
:
curl -H "Accept-Encoding: br" -I http://localhost:3000
Deberías ver un encabezado como:
Content-Encoding: br
🧭 Próximos Pasos
Sección titulada «🧭 Próximos Pasos»- Usa archivos estáticos para servir contenido comprimido
- Combina con TLS para máxima eficiencia
- Explora middleware personalizado para controlar qué rutas se comprimen
Zuno te permite optimizar el rendimiento sin complicaciones—solo activa la extensión y listo.