No description
rust | ||
.gitignore | ||
compress.js | ||
package.json | ||
pnpm-lock.yaml | ||
readme.md | ||
server.js | ||
tsconfig.json |
tofufirme
un proof of concept de un coso que guarda un sitio estático en una BD de sqlite3 con los archivos comprimidos con brotli, y otro coso que sirve el coso.
¿por qué?
porque la mayoría de los navegadores soportan brotli, y quizás no tiene tanto sentido guardar la versión descomprimida y la versión comprimida en gzip cuando la mayoría de los pedidos solo van a pedir la versión de brotli.
entonces si solo guardamos en brotli, podemos servir eso y descomprimir en vivo si lx usuarix no soporta brotli (que, creo que la descompresión es más rápida que la compresión).
¿funciona?
este PoC funciona. un sitio pesado en texto/HTML pero liviano en otros recursos pesa 79MB vs. 352MB (incluyendo .gz y .br).
a ver...
pnpm install
# el sitio tiene que estar en input/
node compress.js output.sqlite3
node server.js output.sqlite3