Ang GNU libmicrohttpd 0.9.74 ay inilabas na at ito ang mga balita nito

Kamakailan lamang inilabas ng proyekto ng GNU ang pagpapalabas ng ang bagong bersyon ng library libmicrohttpd 0.9.74, Isang kumakatawan sa isang simpleng API para sa built-in na HTTP server functionality sa mga application.

Library sumusuporta sa HTTP 1.1 protocol, TLS, POST request incremental processing, basic at digest authentication, IPv6, SHOUTcast, at iba't ibang paraan ng multiplexing na koneksyon (piliin, poll, pthread, thread pool), kasalukuyang may suporta ang pagpapatupad para sa iba't ibang sinusuportahang platform, kabilang ang GNU / Linux, FreeBSD, OpenBSD , NetBSD, Solaris, Android , macOS, Win32, Symbian, at z / OS.

Ang GNU libmicrohttpd ay ipinanganak dahil sa pangangailangan ng may-akda nito, na sa panahong iyon ay nangangailangan ng madaling paraan upang magdagdag ng kasabay na HTTP server sa iba pang mga proyekto. Ang mga umiiral na alternatibo ay hindi libre, hindi reentrant, standalone, kakila-kilabot na kalidad ng code, o kumbinasyon nito.

Sa mga katangian na kapansin-pansin sa pagpapatupad na ito:

  • Library C: mabilis at maliit
  • Ang API ay simple, nagpapahayag, at ganap na muling pagpasok.
  • Ang pagpapatupad ay sumusunod sa HTTP 1.1
  • Maaaring makinig ang HTTP server sa maraming port
  • Maramihang Threading Mode: Tumakbo sa Application Thread, Internal Thread, Thread Pool, at Thread Bawat Koneksyon
  • Tatlong magkakaibang socket polling mode: piliin ang (), poll (), at epoll
  • Minimum na bilang ng mga system call para maiwasan ang mga karagdagang pagbabago sa kernel / user mode
  • Kasama sa mga sinusuportahang platform ang GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris at z / OS
  • Suporta para sa IPv6
  • Suporta sa SHOUTcast
  • Suporta para sa incremental na pagproseso ng POST data (opsyonal)
  • Suporta para sa basic at implicit authentication (opsyonal)
  • Suporta sa TLS (nangangailangan ng libgnutls, opsyonal)
  • Ang binary ay humigit-kumulang 32k lamang (nang walang suporta sa TLS at iba pang mga opsyonal na tampok)

Pangunahing bagong tampok ng libmicrohttpd 0.9.74

Sa bagong bersyon na ito ng aklatan makikita natin iyon nagdagdag ng eksperimental na pagpapatupad ng WebSockets protocol, na hindi pa nasusubok nang mabuti at hindi pinagana bilang default.

Ang isa pang bagong novelty na ipinakita ay iyon ang pagsunod sa mga pagtutukoy ng pagpapatupad ng protocol ng HTTP 1.0 / 1.1 ay napabutiBilang karagdagan, ang code ay muling ginawa upang i-decode ang mga pira-pirasong kahilingan.

Na-highlight din iyon nagdagdag ng code upang awtomatikong ibalik ang mga error na nauugnay sa mga hindi magandang tipak na kahilingan, masyadong malaki ang laki ng data at hindi tamang setting ng header na Haba ng Nilalaman.

Ito ay natanto panloob na pag-optimize, halimbawa, pinahusay na pamamahala ng memorya, pinahusay na kahusayan ng hash, at pag-aalis ng paulit-ulit na pag-parse ng pamamaraan ng HTTP at bersyon ng protocol.

At nabanggit din na nagbigay ito ng mas mahigpit na pagpapatunay ng mga halaga ng header ng HTTP, pinayagan ang paggamit ng character ng tab sa mga value ng header ng tugon, ngunit ipinagbabawal ang paggamit ng mga puwang sa mga custom na halaga ng header.

Bukod diyan, ang code upang makabuo ng mga header ng HTTP bilang tugon ay ganap na muling naisulat at ang katumpakan ng timeout ay nadagdagan mula sa mga segundo hanggang sa mga millisecond.

Nagdagdag ng opsyon sa build –enable-sanitizers [= address, undefined, leak, user-poison] upang piliing paganahin ang mga mode ng pagtuklas ng problema sa code.

Itinama, nilinaw, pinalawak at pinahusay ang mga paglalarawan ng mga function ng Doxy, na ngayon ay binabanggit na dapat na mas madaling matutunan ang MHD sa pamamagitan lamang ng pagbabasa ng mga heading.

Sa iba pang mga pagbabago na tumatayo sa bagong bersyon na ito:

  • Mga pinahusay na paglalarawan ng function sa microhttpd.h header file.
  • idinagdag function API MHD_get_reason_phrase_len_for () at MHD_create_response_from_buffer_with_free_callback_cls (), MHD_CONNECTION_INFO_HTTP_STATUS flag, MHD_get_connection_info (), pati na rin MHD_CONNECTION_INFO_HTTP_STATUS bandila kasagutan, at MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ tugon.
  • Nagdagdag ng file ng proyekto para sa pagpupulong sa MSVC.
  • Ang pagbuo ng header ng tugon ay ganap na muling isinulat. Ang bagong pagpapatupad ay mas matatag, mas madaling mapanatili at napapalawak, at mas mahusay na sumusunod sa mga detalye ng RFC HTTP.
  • Mga pagpapahusay sa pagganap: Ang bersyon ng HTTP at paraan ng kahilingan ay isang beses na lang na-decode (dati ang MHD ay gumamit ng maraming paghahambing ng string

Sa wakas kung interesado kang malaman ang tungkol dito tungkol sa release na ito, maaari kang sumangguni sa mga manwal ng gumagamit at iba pang impormasyon sa website nito.

Ang link ay ito.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.