Projekti GNU publikoi versionin e bibliotekĂ«s libmicrohttpd 1.0.0, i cili Ă«shtĂ« shpallur si versi i parĂ« stabil pas 16 vitesh ekzistence tĂ« projektit. Biblioteka Ă«shtĂ« shkruar nĂ« gjuhĂ«n C dhe ofron njĂ« API tĂ« thjeshtĂ« pĂ«r integrimin e funksionalitetit tĂ« serverit HTTP nĂ« aplikacione. Disa nga platformat e mbĂ«shtetura pĂ«rfshijnĂ«: GNU/LINUX, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 dhe z/OS. Kodi shpĂ«rndahet nĂ«n licencĂ«n LGPL 2.1+. GjatĂ« ndĂ«rtimit, sipas parazgjedhjes, biblioteka zĂ« rreth 200 KB, ndĂ«rsa nĂ« mĂ«nyrĂ«n minimale tĂ« ndĂ«rtimit â 32 KB. NĂ« varĂ«si, pĂ«rdoret vetĂ«m libc, si dhe libgnutls pĂ«r ndĂ«rtim opsional me mbĂ«shtetje TLS.
Biblioteka mbështet protokollin HTTP 1.1, TLS, përpunimin incremental të kërkesave POST, pranimin e lidhjeve nga disa porte të rrjetit, autentifikimin basic dhe digest, IPv6, SHOUTcast, metoda të ndryshme të shumëfishtëzimit të lidhjeve (select, poll, epoll) dhe modele shumëthënie (p.sh., mund të përdoret një grup të threads ose një thread për lidhje). Për të reduktuar shpenzimet që ndodhin nga këqyrja e konteksteve midis bërthamës dhe hapësirës së përdoruesit, numri i thirrjeve sistemike gjatë operimit është zvogëluar në minimum. Siguria e bazës së kodit libmicrohttpd është konfirmuar nga auditimet e kryera nga kompanitë Mozilla dhe Red Hat.
Ndryshimet më të dukshme krahasuar me versionin e kaluar:
- Kodi për analizimin e kërkesave nga klientët është rishkruar dhe sjellë në përputhje të plotë me kërkesat RFC 9110 dhe 9112. Mënyrat e rreptë dhe të butë të përputhjes janë ofruar për të balancuar midis kompatibilitetit dhe sigurisë së lartë.
- Implementimi i autentifikimit digest është rishikuar, duke zgjeruar ndjeshëm mbështetje për funksionalitetet e pranishme në RFC 7617. Përfshinë mbështetje për SHA-512, userhash dhe emrin e përdoruesit në notacionin e zgjeruar. Po ashtu, është ruajtur mbështetje për RFC 2069 të vjetër dhe mundësia për të përdorur hash-e MD5 dhe SHA-256.
- Puna është përmirësuar në mjedise të shumëfishta dhe në mënyrat e polling të soketeve.
- Implementimi i autentifikimit basic është rishikuar, për të cilin në ABI janë ofruar funksione shtesë.
- Kodi pĂ«r fillimin e GnuTLS Ă«shtĂ« riparuar. ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« pĂ«rdorur si konfigurimin standard, ashtu edhe atĂ« specifike pĂ«r libmicrohttpd pĂ«r GnuTLS, si dhe mbĂ«shtetje pĂ«r tejkalimin e konfigurimeve tĂ« veçanta tĂ« sistemit pĂ«r GnuTLS.
Në të ardhmen, planifikohet të merret me zhvillimin e degës libmicrohttpd 2, në të cilën do të sigurohet mbështetje për protokollet HTTP/2 dhe HTTP/3, si dhe do të kryhen punë për thjeshtimin e API-së dhe mbështetje për backend-a të ndryshëm për TLS. Fillimi i punës në degën e re do të financohet nga fondi Sovereign, i krijuar në Gjermani për të stimuluar zhvillimin e infrastrukturës digjitale të hapur dhe ekosistemit me kod të hapur.
Burimi: opennet.ru
