Servidor Estático
Middleware que sirve archivos estáticos o archivos embebidos. Para la API detallada, por favor consulta la documentación.
Casos de Uso
Los servidores de archivos estáticos tienen una amplia gama de aplicaciones en el desarrollo web:
- Servir recursos estáticos para sitios web, como CSS, JavaScript, imágenes, etc.
- Hospedar Aplicaciones de Página Única (SPA)
- Distribuir documentos, archivos multimedia, contenido descargable, etc.
- Servir como solución de hospedaje completa para sitios web simples
Características Principales
StaticDirproporciona soporte para servir archivos estáticos desde directorios locales. Puede aceptar una lista de múltiples directorios como parámetros. Por ejemplo:
Si un archivo no se encuentra en el primer directorio, se buscará en el segundo directorio.
StaticDir admite servir archivos precomprimidos cuando están disponibles. Por ejemplo, si existen archivos como index.html, index.html.gz, index.html.zst e index.html.br, entonces index.html.gz, index.html.zst e index.html.br se consideran versiones precomprimidas de index.html. El archivo comprimido apropiado se servirá según la información de la solicitud.
- Proporciona soporte para
rust-embed. Por ejemplo:
Ventajas y Desventajas de rust-embed
Ventajas:
- Compila archivos estáticos en el binario, simplificando el despliegue.
- No es necesario gestionar archivos estáticos por separado en entornos de producción.
- Potencialmente mejor rendimiento (acceso a memoria vs. I/O de disco).
- Seguridad mejorada, ya que los archivos no pueden modificarse accidentalmente.
Desventajas:
- Aumenta el tamaño del binario de la aplicación.
- Actualizar contenido estático requiere recompilar y redesplegar toda la aplicación.
- No es adecuado para contenido estático grande que cambia con frecuencia.
Puedes establecer una página predeterminada para mostrar usando la opción default. Los métodos with_fallback y fallback te permiten especificar un archivo de respaldo para servir cuando no se encuentra un archivo solicitado, lo cual es útil para ciertas aplicaciones de sitios web de página única.