Проект GNU опубликовал выпуск библиотеки libmicrohttpd 0.9.74, представляющей простой API для встраивания функциональности HTTP-сервера в приложения. Библиотека поддерживает протокол HTTP 1.1, TLS, инкрементальную обработку POST-запросов, basic- и digest-аутентификацию, IPv6, SHOUTcast и различные методы мультиплексирования соединений (select, poll, pthread, thread pool). Среди поддерживаемых платформ: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android, macOS, Win32, Symbian и z/OS. Библиотека распространяется под лицензией LGPL 2.1+.
Na nova versión:
- Engadiuse unha implementación experimental do protocolo WebSockets, que aínda non está ben probada e está desactivada por defecto.
- Mellora do cumprimento das especificacións de implementación do protocolo HTTP 1.0/1.1.
- Reelaborouse o código para descodificar solicitudes en fragmentos.
- O código para xerar cabeceiras HTTP en resposta foi completamente reescrito.
- Engadiuse código para devolver automaticamente erros relacionados con solicitudes fragmentadas incorrectas, tamaños de datos excesivamente grandes e cabeceiras Content-Length configuradas incorrectamente.
- A precisión da configuración do tempo de espera aumentou de segundos a milisegundos.
- Realizáronse optimizacións internas, como unha mellora na xestión da memoria, un aumento da eficiencia do hash e a eliminación da análise duplicada da versión do protocolo e do método HTTP.
- Os valores da cabeceira HTTP agora valídanse de forma máis estrita, permitindo tabulacións nos valores da cabeceira de resposta pero sen permitir espazos nos valores da cabeceira personalizados.
- Engadiuse a opción de compilación '--enable-sanitizers[=address,undefined,leak,user-poison]' para activar selectivamente os modos de detección de problemas no código.
- Engadiuse o ficheiro de proxecto para compilación en MSVC.
Fonte: opennet.ru
