После 16 лет разработки libmicrohttpd выпускает свою первую стабильную версию.

libmicrohttpd

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. Начало работ в новом филиале будет профинансировано за счет средств Суверенный технологический фонд, создана в Германии для стимулирования развития открытой цифровой инфраструктуры и экосистем с открытым исходным кодом.

Если вы интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.




2024-02-18T22:48:28
приложений