GNU libmicrohttpd 0.9.74 ja va ser alliberat i aquestes són les seves novetats

fa poc el projecte GNU va donar a conèixer l'alliberament de la nova versió de la biblioteca libmicrohttpd 0.9.74, que representa una API simple per a la funcionalitat del servidor HTTP integrat a les aplicacions.

la biblioteca admet el protocol HTTP 1.1, TLS, processament incremental de sol·licituds POST, autenticació bàsica i resumida, IPv6, SHOUTcast i diversos mètodes per multiplexar connexions (select, poll, pthread, grup de subprocessos), actualment la implementació compta amb el suport per a diverses plataformes compatibles, de les quals s'inclouen GNU/Linux, FreeBSD, OpenBSD , NetBSD, Solaris, Android, macOS, Win32, Symbian iz/OS.

GNU libmicrohttpd va néixer a causa de la necessitat del seu autor, que en el seu moment necessitava una manera fàcil dafegir un servidor HTTP concurrent a altres projectes. Les alternatives existents eren no lliures, no reentrants, independents, d'una qualitat de codi terrible o una combinació de les mateixes.

De les característiques que destaquen a aquesta implementació:

  • Biblioteca C: ràpida i petita
  • L'API és simple, expressiva i completament reentrada.
  • La implementació és compatible amb HTTP 1.1
  • El servidor HTTP pot escoltar a diversos ports
  • Diversos modes de subprocessament: executar en subprocés d'aplicació, subprocés intern, grup de subprocessos i subprocés per connexió
  • Tres modes de sondeig de sockets diferents: select(), poll() i epoll
  • Nombre mínim de trucades al sistema per evitar canvis de mode d'usuari/kernel addicionals
  • Les plataformes compatibles inclouen GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana/
  • Solaris iz / OS
  • Suport per IPv6
  • Suport per SHOUTcast
  • Suport per a processament incremental de dades POST (opcional)
  • Suport per a autenticació bàsica i implícita (opcional)
  • Suport per a TLS (requereix libgnutls, opcional)
  • El binari només és d'aproximadament 32k (sense suport TLS i altres característiques opcionals)

Principals novetats de libmicrohttpd 0.9.74

En aquesta nova versió que es presenta de la llibreria podrem trobar que es va afegir una implementació experimental del protocol WebSockets, que encara no està ben provat i està deshabilitat per defecte.

Una altra de les novetats que es presenta és que es va millorar el compliment de les especificacions dimplementació del protocol HTTP 1.0/1.1, a més que es reelaboro el codi per descodificar sol·licituds fragmentades.

També es destaca que es va afegir un codi per tornar automàticament els errors relacionats amb sol·licituds fragmentades incorrectes, una mida de dades massa gran i una configuració incorrecta de la capçalera Content-Length.

S'han realitzat optimitzacions internes, per exemple, una gestió de memòria millorada, una eficiència de hash millorada i l'eliminació de l'anàlisi repetitiva de la versió del protocol i el mètode HTTP.

I també es destaca que es va proporcionar una validació més estricta dels valors de les capçaleres HTTP, va permetre l'ús d'un caràcter de tabulació als valors de les capçaleres de resposta, però va prohibir l'ús d'espais als valors de les capçaleres personalitzades.

A més d'això, el codi per generar capçaleres HTTP en resposta s'ha reescrit del tot i la precisió del temps d'espera ha augmentat de segons a mil·lisegons.

S'ha afegit l'opció de compilació –enable-sanitizers[=address,undefined,leak,user-poison] per habilitar selectivament modes de detecció de problemes al codi.

Es van corregir, aclarir, ampliar i millorar les descripcions de les funcions de Doxy, amb la qual cosa ara s'esmenta que hauria de ser molt més fàcil aprendre MHD només llegir les capçaleres.

Dels altres canvis que es destaquen d'aquesta nova versió:

  • Descripcions millorades de funcions al fitxer de capçalera microhttpd.h.
  • Les funcions de l'API van afegir MHD_get_reason_phrase_len_for() i MHD_create_response_from_buffer_with_free_callback_cls(), MHD_CONNECTION_INFO_HTTP_STATUS flag MHD_get_connection_info(), així com les respostes de bandera _HDR_HDR_EPH_RF.
  • Arxiu de projecte agregat per acoblar a MSVC.
  • La formació de capçalera de resposta va ser completament reescrita. La nova implementació és més robusta, fàcil de mantenir i expandible i segueix millor les especificacions RFC HTTP.
  • Millores en el rendiment: ara la versió HTTP i el mètode de sol·licitud es descodifiquen una sola vegada (anteriorment, MHD usava la comparació de cadenes moltes

Finalment si estàs interessat en poder conèixer més a l'respecte sobre aquesta alliberaria, podeu consultar els manuals d'usuari i altres informacions al vostre lloc web.

L'enllaç és aquest.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.