GNU libmicrohttpd 0.9.74 a fost deja lansat și acestea sunt știrile sale

recent proiectul GNU a lansat lansarea de noua versiune a bibliotecii libmicrohttpd 0.9.74, A reprezentând un API simplu pentru funcționalitatea serverului HTTP încorporată în aplicații.

Bibliotecă acceptă protocolul HTTP 1.1, TLS, procesarea incrementală a cererii POST, autentificare de bază și digest, IPv6, SHOUTcast și diverse metode de multiplexare a conexiunilor (select, poll, pthread, thread pool), în prezent implementarea are suport pentru diverse platforme acceptate, inclusiv GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian și z / OS.

GNU libmicrohttpd a luat naștere din nevoia autorului său, care la acea vreme avea nevoie de o modalitate ușoară de a adăuga un server HTTP concurent la alte proiecte. Alternativele existente erau non-libere, nereintrante, independente, de calitate groaznică a codului sau o combinație a acestora.

Dintre caracteristici care se remarcă prin această implementare:

  • Biblioteca C: rapidă și mică
  • API-ul este simplu, expresiv și complet reintrare.
  • Implementarea este compatibilă cu HTTP 1.1
  • Serverul HTTP poate asculta pe mai multe porturi
  • Mai multe moduri de threading: rulare pe fire de aplicație, fire interne, grup de fire și fire per conexiune
  • Trei moduri diferite de sondare a soclului: select (), sondaj () și epoll
  • Număr minim de apeluri de sistem pentru a evita modificări suplimentare ale nucleului/modului utilizator
  • Platformele acceptate includ GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris și z/OS
  • Suport pentru IPv6
  • Suport SHOUTcast
  • Suport pentru procesarea incrementală a datelor POST (opțional)
  • Suport pentru autentificare de bază și implicită (opțional)
  • Suport TLS (necesită libgnutls, opțional)
  • Binarul este de doar aproximativ 32k (fără suport TLS și alte caracteristici opționale)

Principalele caracteristici noi ale libmicrohttpd 0.9.74

În această nouă versiune care este prezentată din bibliotecă putem găsi că a adăugat o implementare experimentală a protocolului WebSockets, care nu este încă bine testat și este dezactivat implicit.

O altă noutate care este prezentată este aceea conformitatea cu specificațiile de implementare a protocolului HTTP 1.0 / 1.1 a fost îmbunătățităÎn plus, codul a fost reelaborat pentru a decoda solicitările fragmentate.

De asemenea, se evidențiază faptul că a adăugat cod pentru a returna automat erori legate de cererile greșite în bucăți, dimensiune prea mare a datelor și setare incorectă a antetului Content-Length.

S-a realizat optimizări interne, de exemplu, management îmbunătățit al memoriei, eficiență hash îmbunătățită și eliminarea analizei repetitive a metodei HTTP și a versiunii de protocol.

Și se remarcă, de asemenea, că a oferit o validare mai strictă a valorilor antetului HTTP, a permis utilizarea unui caracter tabulator în valorile antetului răspunsului, dar a interzis utilizarea spațiilor în valorile antetului personalizate.

Pe lângă asta, codul pentru generarea antetelor HTTP ca răspuns a fost complet rescris iar precizia timeout-ului a fost mărită de la secunde la milisecunde.

S-a adăugat opțiunea de construcție –enable-sanitizers [= adresă, nedefinită, scurgere, otravă utilizator] pentru a activa în mod selectiv modurile de detectare a problemelor în cod.

Am corectat, clarificat, extins și îmbunătățit descrierile funcțiilor Doxy, menționând acum că ar trebui să fie mult mai ușor să înveți MHD doar citind titlurile.

Dintre celelalte modificări care se remarcă în această nouă versiune:

  • Descrieri îmbunătățite ale funcțiilor în fișierul antet microhttpd.h.
  • API funcții adăugat MHD_get_reason_phrase_len_for () și MHD_create_response_from_buffer_with_free_callback_cls (), flag MHD_CONNECTION_INFO_HTTP_STATUS, MHD_get_connection_info (), precum și răspunsurile pavilion MHD_CONNECTION_INFO_HTTP_STATUS și răspunsurile MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_.
  • S-a adăugat fișierul de proiect pentru asamblare în MSVC.
  • Formarea antetului de răspuns a fost complet rescrisă. Noua implementare este mai robustă, mai ușor de întreținut și extinsă și respectă mai bine specificațiile RFC HTTP.
  • Îmbunătățiri de performanță: versiunea HTTP și metoda de solicitare sunt acum decodificate o singură dată (anterior MHD folosea mai multe comparații de șiruri

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta despre această versiune, puteți consulta manualele de utilizare și alte informații pe site-ul său.

Legătura este aceasta.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.