GNU libmicrohttpd 0.9.74 буга чейин чыгарылган жана бул анын жаңылыктары

жакында GNU долбоору релизди чыгарды китепкананын жаңы версиясы libmicrohttpd 0.9.74, Тиркемелерде орнотулган HTTP серверинин иштеши үчүн жөнөкөй API.

Китепкана HTTP 1.1 протоколун, TLS, POST өтүнүчүн кошумча иштетүүнү колдойт, негизги жана дайджест аутентификациясы, IPv6, SHOUTcast жана мультиплекстештирүүнүн ар кандай ыкмалары (тандоо, сурамжылоо, pthread, жип пулу), учурда ишке ашыруу ар кандай колдоого алынган платформаларды, анын ичинде GNU / Linux, FreeBSD, OpenBSD , NetBSD, Solaris, Android колдойт. , macOS, Win32, Symbian жана z / OS.

GNU libmicrohttpd авторунун муктаждыгынан улам жаралган, ал учурда башка долбоорлорго бир эле учурда HTTP серверин кошуунун оңой жолуна муктаж болгон. Учурдагы альтернативалар эркин эмес, кайра кирбеген, өз алдынча, коркунучтуу код сапаты же алардын айкалышы болгон.

Мүнөздөмөлөрүнүн бул ишке ашыруу үчүн өзгөчөлөнгөн:

  • Китепкана C: тез жана кичинекей
  • API жөнөкөй, экспрессивдүү жана толугу менен кайра киргизүү.
  • ишке ашыруу HTTP 1.1 шайкеш келет
  • HTTP сервери бир нече порттордо уга алат
  • Бир нече жип режимдери: Колдонмо жипинде, ички жикте, жип бассейнинде жана ар бир туташууда жипте иштетүү
  • Үч түрдүү розеткадан сурамжылоонун режими: тандоо (), сурамжылоо () жана epoll
  • Кошумча ядро/колдонуучу режиминин өзгөрүшүнө жол бербөө үчүн системалык чалуулардын минималдуу саны
  • Колдоого алынган платформаларга GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana / кирет.
  • Solaris жана z / OS
  • IPv6 үчүн колдоо
  • SHOUTcast колдоо
  • POST маалыматтарын кошумча иштетүүнү колдоо (милдеттүү эмес)
  • Негизги жана кыйыр аутентификацияны колдоо (милдеттүү эмес)
  • TLS колдоосу (libgnutls талап кылынат, кошумча)
  • бинардык болжол менен 32к гана (TLS колдоосу жок жана башка кошумча функциялар жок)

libmicrohttpd 0.9.74 негизги жаңы өзгөчөлүктөрү

Китепканадан берилген бул жаңы версияда биз муну таба алабыз WebSockets протоколунун эксперименталдык ишке ашыруусун кошту, ал азырынча жакшы текшериле элек жана демейки боюнча өчүрүлгөн.

Дагы бир жаңылык - бул HTTP 1.0 / 1.1 протоколун ишке ашыруу спецификацияларына ылайыктуулугу жакшырдыМындан тышкары, код фрагменттелген суроо-талаптарды чечмелөө үчүн кайра иштелип чыккан.

Ошондой эле, деп баса белгиленген каталарды автоматтык түрдө кайтарып берүү үчүн код кошулду, өтө чоң маалымат өлчөмү жана туура эмес Content-Length баш жөндөө.

Бул ишке ашты ички оптималдаштыруу, мисалы, жакшыртылган эс башкаруу, жакшыртылган хэш натыйжалуулугун, жана HTTP ыкмасы жана протокол версия кайталануучу талдоо жоюу.

Ошондой эле, ал HTTP аталышынын баалуулуктарын катуураак текшерүүнү камсыз кылганы, жооптун аталышынын маанилеринде өтмөк белгисин колдонууга уруксат бергени, бирок ыңгайлаштырылган баш маанисинин маанилеринде боштуктарды колдонууга тыюу салганы белгиленген.

Мындан тышкары, жооп катары HTTP баштарын түзүү коду толугу менен кайра жазылган жана күтүү убакытынын тактыгы секундадан миллисекундга чейин көбөйтүлдү.

Кошулган куруу опциясы – иштетүү-санитизаторлор [= дарек, аныкталбаган, агып кетүү, колдонуучу-уу] коддогу көйгөйдү аныктоо режимдерин тандап иштетүү.

Doxy функцияларынын сыпаттамалары оңдолду, такталды, кеңейтилди жана өркүндөтүлдү, азыр MHDди жөн гана рубрикаларды окуу менен үйрөнүү бир топ жеңил болушу керек экенин белгилешти.

Ушул жаңы версияда байкалган башка өзгөрүүлөрдүн ичинен:

  • microhttpd.h баш файлындагы жакшыртылган функция сүрөттөмөлөрү.
  • API милдеттери MHD_get_reason_phrase_len_for () жана MHD_create_response_from_buffer_with_free_callback_cls () кошо, MHD_CONNECTION_INFO_HTTP_STATUS желек, MHD_get_connection_info (), ошондой эле MHD_CONNECTION_INFO_HTTP_STATUS желек берүү жана MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ жооптор.
  • MSVCде чогултуу үчүн долбоор файлы кошулду.
  • Жооптун аталышы толугу менен кайра жазылды. Жаңы ишке ашыруу күчтүүрөөк, тейлөө оңой жана кеңейтилет жана RFC HTTP спецификацияларына жакшыраак ылайык келет.
  • Иштин өркүндөтүлүшү: Эми HTTP версиясы жана суроо-талап ыкмасы бир гана жолу чечмеленет (мурда MHD көптөгөн саптарды салыштыруу колдонулган

акырында ал жөнүндө көбүрөөк билүүгө кызыкдар болсо бул чыгарылыш жөнүндө, сиз анын веб-сайтындагы колдонуучу колдонмолорун жана башка маалыматты карасаңыз болот.

Шилтеме бул.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт.

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.