GNU libmicrohttpd 0.9.74 вече е пуснат и това са неговите новини

наскоро проектът GNU пусна изданието на новата версия на библиотеката libmicrohttpd 0.9.74, Представлява прост API за вградена функционалност на HTTP сървър в приложенията.

Библиотека поддържа HTTP 1.1 протокол, TLS, инкрементална обработка на заявка POST, основно и дайджест автентификация, IPv6, SHOUTcast и различни методи за мултиплексиране на връзки (select, poll, pthread, thread pool), в момента реализацията има поддръжка за различни поддържани платформи, включително GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian и z/OS.

GNU libmicrohttpd се ражда поради нуждата на неговия автор, който по това време се нуждаеше от лесен начин за добавяне на паралелен HTTP сървър към други проекти. Съществуващите алтернативи бяха несвободни, неповторяващи се, самостоятелни, ужасно качество на кода или комбинация от тях.

От характеристиките които се отличават с това изпълнение:

  • Библиотека C: бърза и малка
  • API е прост, изразителен и напълно повторно влизане.
  • Внедряването е съвместимо с HTTP 1.1
  • HTTP сървърът може да слуша на множество портове
  • Множество режими на нишки: Изпълняване на нишка на приложение, вътрешна нишка, пул от нишки и нишка на връзка
  • Три различни режима на запитване на сокет: изберете (), анкета () и epoll
  • Минимален брой системни повиквания, за да се избегнат допълнителни промени в ядрото/потребителския режим
  • Поддържаните платформи включват GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris и z/OS
  • Поддръжка за IPv6
  • Поддръжка на SHOUTcast
  • Поддръжка за постепенна обработка на POST данни (по избор)
  • Поддръжка за основно и имплицитно удостоверяване (по избор)
  • TLS поддръжка (изисква libgnutls, по избор)
  • Двоичният файл е само около 32k (без поддръжка на TLS и други допълнителни функции)

Основни нови функции на libmicrohttpd 0.9.74

В тази нова версия, която е представена от библиотеката, можем да намерим това добави експериментална реализация на протокола WebSockets, който все още не е добре тестван и е деактивиран по подразбиране.

Друга новост, която е представена е, че беше подобрено съответствието със спецификациите за внедряване на протокола HTTP 1.0 / 1.1Освен това кодът беше преработен, за да декодира фрагментирани заявки.

Също така се подчертава, че добавен код за автоматично връщане на грешки, свързани с лоши заявки, твърде голям размер на данните и неправилна настройка на заглавката на Content-Length.

Реализирано е вътрешни оптимизации, например подобрено управление на паметта, подобрена ефективност на хеширане и елиминиране на повтарящия се синтактичен анализ на HTTP метода и версията на протокола.

Освен това се отбелязва, че предоставя по-строга валидация на стойностите на HTTP заглавката, позволява използването на табулатор в стойностите на заглавката на отговора, но забранява използването на интервали в стойностите на персонализираните заглавки.

Освен, че, кодът за генериране на HTTP заглавки в отговор е напълно пренаписан и точността на изчакването е увеличена от секунди на милисекунди.

Добавена опция за компилиране – активиране на дезинфекция [= адрес, недефиниран, теч, потребителска отрова] за избирателно активиране на режимите за откриване на проблеми в кода.

Фиксирани, изяснени, разширени и подобрени описания на функциите на Doxy, като сега се споменава, че би трябвало да е много по-лесно да научите MHD само като прочетете заглавията.

От останалите промени, които се открояват в тази нова версия:

  • Подобрени описания на функциите в заглавния файл microhttpd.h.
  • добавено API функции MHD_get_reason_phrase_len_for () и MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS флаг, MHD_get_connection_info (), както и отговори MHD_CONNECTION_INFO_HTTP_STATUS флаг и MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ отговори.
  • Добавен проектен файл за сглобяване в MSVC.
  • Формирането на заглавката на отговора беше напълно пренаписано. Новата реализация е по-стабилна, по-лесна за поддръжка и разширяване и по-добре следва RFC HTTP спецификациите.
  • Подобрения в производителността: Сега HTTP версията и методът на заявка се декодират само веднъж (по-рано MHD използва много сравнение на низове

Накрая ако се интересувате да научите повече за това относно тази версия, можете да се консултирате с ръководствата за потребителя и друга информация на нейния уебсайт.

Връзката е тази.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.