Ua hoʻokuʻu ka Papahana GNU i ka libmicrohttpd 1.0.0, e hōʻailona ana i ka hoʻokuʻu paʻa mua loa i ka mōʻaukala 16 makahiki o ka papahana. Ua kākau ʻia ka waihona puke ma C a hāʻawi i kahi API maʻalahi no ka hoʻokomo ʻana i ka hana kikowaena HTTP i loko o nā noi. ʻO nā kahua i kākoʻo ʻia: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 и z/OS. Код распространяется под лицензией LGPL 2.1+. При сборке по умолчанию библиотека занимает около 200 КБ, а в минимальном режиме сборки — 32 КБ. В зависимостях используется только libc, а также libgnutls при опциональной сборке с поддержкой TLS.
Kākoʻo ka waihona i ka HTTP 1.1, TLS, ka hoʻoili noi POST hoʻonui, ka ʻae ʻana i ka pilina mai nā awa pūnaewele lehulehu, ka hōʻoia kumu a me ka digest, IPv6, SHOUTcast, nā ʻano hana multiplexing pili like ʻole (koho, koho, epoll), a me nā hiʻohiʻona multithreading (no ka laʻana, me ka hoʻohana ʻana i kahi kolamu thread a i ʻole ke kaula i kēlā me kēia pilina). No ka hōʻemi ʻana i ka nui o nā hoʻololi pōʻaiapili ma waena o ka kernel a me ka wahi hoʻohana, hoʻemi ʻia ka helu o nā kelepona ʻōnaehana i ka wā o ka hoʻokō. Ua hōʻoia ʻia ka palekana o ka libmicrohttpd codebase e nā loiloi i alakaʻi ʻia e Mozilla a me Red Hat.
ʻO nā loli kaulana loa i hoʻohālikelike ʻia i ka hoʻokuʻu mua ʻana:
- Ua kākau hou ʻia ka code parsing noi a ka mea kūʻai aku i ka hoʻokō piha ʻana me RFC 9110 a me 9112. Hāʻawi ʻia nā ʻano hoʻokō koʻikoʻi a hoʻomaha no ke kaulike ʻana me ka hoʻonui palekana.
- Ua hoʻolālā hou ʻia ka hoʻokō ʻana i ka hōʻoia ʻana, me ka hoʻonui nui ʻana i ke kākoʻo no nā hiʻohiʻona i loaʻa ma RFC 7617. Loaʻa kēia i ke kākoʻo no SHA-512, userhash, a me ka inoa inoa ma ka notation lōʻihi. Ua mālama ʻia ke kākoʻo no ka hōʻano hash RFC 2069 kahiko a me ka hiki ke hoʻohana i nā hashes MD5 a me SHA-256.
- Hoʻomaikaʻi i ka hana ma nā kaiapuni multithreaded a me nā ʻano koho balota.
- Ua hana hou ʻia ka hoʻokō ʻana i ka hōʻoia kumu, kahi i manaʻo ʻia ai nā hana hou i ka ABI.
- Ua kākau hou ʻia ka code initialization GnuTLS. Hoʻohui kēia i ka hiki ke hoʻohana i nā hoʻonohonoho hoʻonohonoho ʻōnaehana GnuTLS paʻamau a me libmicrohttpd-specific, a me ke kākoʻo no ka hoʻopau ʻana i nā hoʻonohonoho hoʻonohonoho hoʻonohonoho GnuTLS.
Hoʻolālā ʻia ka hoʻomohala ʻana i ka wā e hiki mai ana no ka lālā libmicrohttpd 2, e hāʻawi i ke kākoʻo no nā protocols HTTP/2 a me HTTP/3, a me ka hoʻomaʻamaʻa ʻana i ka API a me ke kākoʻo no nā ʻano TLS backends. ʻO ka hana mua ma kēia lālā hou e kākoʻo ʻia e ka Sovereign foundation, i hoʻokumu ʻia ma Kelemania e hoʻoulu i ka hoʻomohala ʻana i nā ʻōnaehana kamepiula wehe a me nā kaiaola punawai wehe.
Source: opennet.ru
