Выпущена новая версия компактного и высокоскоростного веб-сервера Static Web Server 2.1.0, предназначенного для отдачи файлов и статических веб-ресурсов. Код проекта написан на языке Rust и распространяется под лицензиями MIT и Apache. Готовые сборки подготовлены для Linux, Windows, macOS и FreeBSD. Имеется сборка в виде готового к использованию Docker-контейнера, насчитывающего более 90 тысяч загрузок. Также подготовлено подробное руководство с описанием процесса конфигурирования Static Web Server в разных окружениях.
Разработчики отмечают следующие отличия своего продукта от уже существующих аналогов:
- Кросплатформенность. Сборки готовы для Linux, macOS, Windows и FreeBSD для архитектур x86, x86_64, ARM32 и ARM64.
- Малый размер полностью готового к работе исполняемого файла – 4 МБ в распакованном виде (статическая сборка с Musl) и 2.28 МБ в виде Docker-контейнера.
- Прозрачные и гибко конфигурируемые механизмы ведения лога и трассировки.
- Настраиваемая многопоточность.
- Низкое потребление памяти и ресурсов CPU.
- Опциональное сжатие текстовых ресурсов методами GZip, Deflate и Brotli. Поддерживается заголовок Accept-Encoding.
- Возможность обработки слушающего сокета вместо файлового дескриптора для использования в sandbox-окружениях и on-demand-приложениях (например, для интеграции с systemd).
- Использование языка Rust для скорости, безопасности и многопоточности;
- Поддержка HTTP/2, TLS, Basic HTTP Authentication, Range-запросов, Cache-Control, CORS и других типовых возможностей классического http-сервера.
- Реализация HTTP/1 и HTTP/2 основана на HTTP-библиотеке hyper, а для асинхронной обработки запросов применяется библиотека Tokio.
Release.
Ссылка here.