Po 16 latach rozwoju libmicrohttpd osiąga pierwszą stabilną wersję

libmicrohttpd

libmicrohttpd to mała biblioteka C, która ma ułatwić uruchomienie serwera HTTP jako części innej aplikacji

Zostało to niedawno ogłoszone wydanie nowej wersji biblioteki GNU „libmicrohttpd 1.0.0”, który jest oznaczona jako pierwsza stabilna wersja projektu i który podkreśla, między innymi, przeprojektowanie implementacji ukrytego uwierzytelniania, a także fakt, że przerobiono kod inicjujący GnuTLS.

Ci, którzy nie wiedzą o libmicrohttpd, powinni to wiedzieć Jest to potężne narzędzie do uruchamiania serwera HTTP w aplikacji C lub C++. GNU libmicrohttpd charakteryzuje się szybką i małą biblioteką C, oszczędną pod względem zasobów i odpowiednią dla aplikacji wymagających zintegrowanego serwera HTTP.

Posiada ekspresyjne i bezpieczne API do współpracy z serwerem HTTP, kompatybilny z HTTP 1.1 i umożliwiający nasłuchiwanie na wielu portach, a także oferujący elastyczne opcje zarządzania wątkami, co pozwala na dostosowanie się do różnych środowisk aplikacji.

Zapewnia wszechstronne metody zarządzania gniazdami, Obsługuje różnorodne platformy systemów operacyjnych, umożliwia komunikację poprzez IPv4 i IPv6 oraz ułatwia wydajne przetwarzanie danych przesyłanych za pomocą żądań POST.

Główne nowe funkcje libmicrohttpd

To wydanie stanowi pierwszą stabilną wersję GNU libmicrohttpd po 16 latach rozwoju projektu i w tej nowej wersji zaimplementowano ważne zmiany i nowe funkcje, między innymi Przepisana analiza żądań klientów, dostosowana do standardów RFC, ponieważ kod odpowiedzialny za analizowanie żądań klientów został całkowicie przepisany i obecnie spełnia wymagania wyszczególnione w RFC 9110 i 9112, a także zapewniono rygorystyczne i elastyczne tryby zgodności, aby zrównoważyć kompatybilność i ulepszone bezpieczeństwo.

Kolejną zmianą wyróżniającą się w nowej wersji jest to, że zostały one wdrożone ulepszenia szyfrowania i podstawowego uwierzytelniania, z obsługą zaawansowanych funkcji zgodnie z RFC 7617W przypadku uwierzytelniania szyfrowanego jego implementacja została przeprojektowana, znacznie rozszerzając obsługę funkcji opisanych w RFC 7617. Obejmuje to obsługę SHA-512, skrótu użytkownika i nazwy użytkownika w notacji rozszerzonej. Dodatkowo zachowana została kompatybilność ze starym RFC 2069 oraz zachowana możliwość stosowania skrótów MD5 i SHA-256.

Oprócz tego istniały ulepszenia w środowiskach wielowątkowych, szczególnie w trybach odpytywania gniazd zewnętrznych. Wydajność została poprawiona, szczególnie w środowiskach wielowątkowych, a także w trybach odpytywania gniazd. Dodatkowo przeprojektowano implementację uwierzytelniania podstawowego, włączając udostępnienie dodatkowej funkcjonalności w interfejsie programowania aplikacji (API).

Z drugiej strony podkreśla reimplementacja inicjalizacji GnuTLS, ze wsparciem dla konkretnych konfiguracji systemu, ponieważ kod inicjujący GnuTLS został sprawdzony i przerobiony. Dodano możliwość korzystania zarówno ze standardowej konfiguracji systemu GnuTLS, jak i specyficznej dla libmicrohttpd, wraz z obsługą zastępowania indywidualnych konfiguracji systemu GnuTLS.

z inne zmiany, które się wyróżniają tej nowej wersji:

  • Napraw wyciek pamięci w ścieżce błędu.
  • Naprawiono testowanie z GnuTLS na ścieżce innej niż domyślna.
  • Naprawiono kompilację niedebugującą bez protokołu HTTPS.
  • konfiguracja: Usunięto stare obejście dla systemu Solaris.
  • Połączenia TLS „Aktualizacja”: Naprawiono transfer danych w różnych warunkach brzegowych.
  • „bootstrap”: poprawki i uproszczenia.
  • Zmieniono nazwę nowej podstawowej funkcji uwierzytelniania, ulepszono dokumentację.
  • Dodano wykrywanie większej liczby warunków w celu przetwarzania danych bez czekania.
  • Ulepszona obsługa zamykania demona w trybie zewnętrznego odpytywania.
  • Wypełnianie fd_set zostało ujednolicone i uproszczone.
  • Oficjalne wsparcie dla zera w MHD_OPTION_THREAD_POOL_SIZE.
  • Naprawiono brakujące elementy .
  • Zrefaktoryzowana obsługa wątków w celu obsługi platform bez „nieprawidłowej” wartości identyfikatora.
  • Naprawiono MHD_CONNECTION_INFO_DAEMON: zwraca demona głównego. -NP

Na koniec warto wspomnieć, że planowany jest rozwój gałęzi libmicrohttpd 2, która zapewni obsługę protokołów HTTP/2 i HTTP/3, a także prace nad uproszczeniem API i obsługą różnych backendów dla TLS. Rozpoczęcie prac nad nowym oddziałem zostanie sfinansowane ze środków m.in państwowy fundusz technologiczny, założona w Niemczech w celu stymulowania rozwoju otwartej infrastruktury cyfrowej i ekosystemów open source.

Jeżeli jesteś chcesz dowiedzieć się więcej na ten tematmożesz sprawdzić szczegóły W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.