Gipagawas sa GNU Project ang libmicrohttpd 1.0.0, nga nagtimaan sa unang stable nga pagpagawas sa 16 ka tuig nga kasaysayan sa proyekto. Ang librarya gisulat sa C ug naghatag og simpleng API para sa pag-embed sa HTTP server functionality ngadto sa mga aplikasyon. Ang gisuportahan nga mga plataporma naglakip sa: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32, ug z/OS. Ang code giapod-apod ubos sa lisensya sa LGPL 2.1+. Ang librarya gibana-bana nga 200 KB sa default build mode, ug 32 KB sa minimal build mode. Ang mga dependency naglakip lamang sa libc, ug ang libgnutls opsyonal nga gitukod uban ang suporta sa TLS.
Ang library nagsuporta sa HTTP 1.1, TLS, incremental POST request processing, pagdawat sa koneksyon gikan sa daghang network ports, basic ug digest authentication, IPv6, SHOUTcast, lain-laing mga pamaagi sa connection multiplexing (select, poll, epoll), ug multithreading models (pananglitan, paggamit og thread pool o thread kada koneksyon). Aron makunhuran ang overhead sa context switches tali sa kernel ug user space, ang gidaghanon sa system calls atol sa execution gipakunhod. Ang seguridad sa libmicrohttpd codebase gikumpirma sa mga audit nga gihimo sa Mozilla ug Red Hat.
Ang labing talagsaong mga pagbag-o kon itandi sa miaging bersyon mao ang:
- Ang client request parsing code gisulat pag-usab ug gisunod sa hingpit ang RFC 9110 ug 9112. Gihatag ang estrikto ug relaks nga mga compliance mode aron mabalanse ang pagkaangay ug ang dugang seguridad.
- Ang implementasyon sa digest authentication gi-redesign, nga nagpalapad pag-ayo sa suporta para sa mga feature nga makita sa RFC 7617. Apil niini ang suporta para sa SHA-512, userhash, ug username sa extended notation. Gipadayon usab ang suporta para sa mas daan nga RFC 2069 hash format ug ang abilidad sa paggamit sa MD5 ug SHA-256 hashes.
- Gipauswag nga performance sa mga multithreaded nga palibot ug mga socket polling mode.
- Ang implementasyon sa batakang pang-authentication giusab na, diin ang dugang nga mga gimbuhaton gisugyot sa ABI.
- Gisulat na pag-usab ang GnuTLS initialization code. Gidugang niini ang abilidad sa paggamit sa default ug libmicrohttpd-specific GnuTLS system configurations, ingon man ang suporta alang sa pag-override sa indibidwal nga GnuTLS system configuration settings.
Giplano ang umaabot nga pag-uswag para sa libmicrohttpd 2 branch, nga mohatag og suporta para sa HTTP/2 ug HTTP/3 protocols, ingon man mopasimple sa API ug suporta para sa nagkalain-laing TLS backends. Ang inisyal nga trabaho niining bag-ong branch pondohan sa Sovereign foundation, nga gitukod sa Germany aron mapalambo ang pag-uswag sa open digital infrastructure ug open source ecosystems.
Source: opennet.ru
