
libmicrohttpd — небольшая библиотека C, которая должна упростить запуск HTTP-сервера как части другого приложения.
Недавно было объявлено выпуск новой версии библиотеки GNU «libmicrohttpd 1.0.0», который отмечен как первая стабильная версия проекта и в котором подчеркивается, среди прочего, переработка реализации неявной аутентификации, а также тот факт, что код инициализации GnuTLS был переработан.
Для тех, кто не знает о libmicrohttpd, следует знать, что Это мощный инструмент для запуска HTTP-сервера внутри приложения C или C++.. GNU libmicrohttpd характеризуется как быстрая и небольшая библиотека C, ресурсоэффективная и подходящая для приложений, требующих встроенного HTTP-сервера.
Он имеет выразительный и безопасный API для работы с HTTP-сервером., совместимый с HTTP 1.1 и способный прослушивать несколько портов, а также предлагает гибкие возможности управления потоками, позволяющие адаптироваться к различным средам приложений.
Предоставляет универсальные методы управления сокетами, Он поддерживает различные платформы операционных систем, обеспечивает связь через IPv4 и IPv6 и облегчает эффективную обработку данных, отправленных через запросы POST.
Основные новые возможности libmicrohttpd
Этот выпуск знаменует собой первую стабильную версию GNU libmicrohttpd после 16 лет разработки проекта, и в этой новой версии были реализованы важные изменения и новые функции, среди которых Переписан анализ клиентских запросов в соответствии со стандартами RFC., поскольку код, отвечающий за анализ клиентских запросов, был полностью переписан и теперь соответствует требованиям, подробно описанным в RFC 9110 и 9112, а также были предусмотрены строгие и гибкие режимы соответствия для улучшения баланса совместимости и безопасности.
Еще одним из изменений, которое выделяется в новой версии, является то, что они были реализованы. улучшения дайджеста и базовой аутентификации с поддержкой расширенных функций в соответствии с RFC 7617.Что касается дайджест-аутентификации, ее реализация была переработана, что значительно расширило поддержку функций, описанных в RFC 7617. Это включает поддержку SHA-512, хэша пользователя и имени пользователя в расширенной нотации. Кроме того, сохраняется совместимость со старым RFC 2069 и сохраняется возможность использования хешей MD5 и SHA-256.
Помимо этого, были улучшения в многопоточных средах, особенно в режимах опроса внешних сокетов. Производительность была улучшена, особенно в многопоточных средах, а также в режимах опроса сокетов. Кроме того, была переработана реализация базовой аутентификации, включая предоставление дополнительных функций в интерфейсе прикладного программирования (API).
С другой стороны, он подчеркивает повторная реализация инициализации GnuTLS с поддержкой определенных конфигураций системы, поскольку код инициализации GnuTLS был проверен и переработан. Добавлена возможность использовать как стандартную конфигурацию системы GnuTLS, так и конфигурации, специфичные для libmicrohttpd, а также поддержку переопределения отдельных конфигураций системы GnuTLS.
Из другие изменения, которые выделяются этой новой версии:
- Исправьте утечку памяти в пути ошибки.
- Исправлено тестирование с GnuTLS по пути, отличному от заданного по умолчанию.
- Исправлена неотладочная сборка без HTTPS.
- configure: удален старый обходной путь для Solaris.
- TLS Connections «Обновление»: исправлена передача данных при различных граничных условиях.
- «бутстрап»: исправления и упрощения.
- Переименована новая базовая функция аутентификации, улучшена документация.
- Добавлено обнаружение дополнительных условий для обработки данных без ожидания.
- Улучшена обработка завершения работы демона в режиме внешнего опроса.
- Наполнение fd_set было унифицировано и упрощено.
- Официальная поддержка нуля в MHD_OPTION_THREAD_POOL_SIZE.
- Исправлены недостающие включения .
- Переработана поддержка потоков для работы с платформами без «недопустимого» значения идентификатора.
- Исправлен MHD_CONNECTION_INFO_DAEMON: возвращает главный демон. -НАПРИМЕР
Наконец, стоит упомянуть, что планируется разработать ветку libmicrohttpd 2, которая будет обеспечивать поддержку протоколов HTTP/2 и HTTP/3, а также работать над упрощением API и поддержкой различных бэкендов для TLS. Начало работ в новом филиале будет профинансировано за счет средств Суверенный технологический фонд, создана в Германии для стимулирования развития открытой цифровой инфраструктуры и экосистем с открытым исходным кодом.
Если вы интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.