GNU libmicrohttpd 0.9.74 zaten yayınlandı ve bunlar onun haberleri

geçenlerde GNU projesi, kütüphanenin yeni versiyonu libmicrohttpd 0.9.74, Uygulamalarda yerleşik HTTP sunucusu işlevi için basit bir API'yi temsil eden A.

Kütüphane HTTP 1.1 protokolünü, TLS'yi, POST istek artımlı işlemeyi destekler, temel ve özet kimlik doğrulama, IPv6, SHOUTcast ve çoğullama bağlantıları için çeşitli yöntemler (select, poll, pthread, thread pool), şu anda uygulama GNU / Linux, FreeBSD, OpenBSD , NetBSD, Solaris, Android dahil olmak üzere çeşitli desteklenen platformları desteklemektedir. , macOS, Win32, Symbian ve z/OS.

GNU libmicrohttpd, o zamanlar diğer projelere eşzamanlı bir HTTP sunucusu eklemenin kolay bir yoluna ihtiyaç duyan yazarının ihtiyacı nedeniyle doğdu. Mevcut alternatifler özgür olmayan, yeniden giriş yapmayan, bağımsız, korkunç kod kalitesi veya bunların bir kombinasyonuydu.

Özelliklerinden bu uygulamaya dikkat çeken:

  • C Kütüphanesi: hızlı ve küçük
  • API basit, anlamlı ve tamamen yeniden giriÅŸlidir.
  • Uygulama HTTP 1.1 uyumludur
  • HTTP sunucusu birden çok baÄŸlantı noktasını dinleyebilir
  • Birden Çok İş Parçacığı Modu: Uygulama İş Parçacığında Çalıştır, İç İş Parçacığı, İş Parçacığı Havuzu ve BaÄŸlantı Başına İş Parçacığı
  • Üç farklı soket sorgulama modu: select (), poll () ve epoll
  • Ek çekirdek / kullanıcı modu deÄŸiÅŸikliklerinden kaçınmak için minimum sistem çaÄŸrısı sayısı
  • Desteklenen platformlar arasında GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris ve z / OS
  • IPv6 desteÄŸi
  • SHOUTcast desteÄŸi
  • POST verilerinin artımlı iÅŸlenmesi için destek (isteÄŸe baÄŸlı)
  • Temel ve örtük kimlik doÄŸrulama desteÄŸi (isteÄŸe baÄŸlı)
  • TLS desteÄŸi (libgnutls gerektirir, isteÄŸe baÄŸlı)
  • İkili dosya yalnızca yaklaşık 32k'dir (TLS desteÄŸi ve diÄŸer isteÄŸe baÄŸlı özellikler olmadan)

libmicrohttpd 0.9.74'ün başlıca yeni özellikleri

Kütüphaneden sunulan bu yeni sürümde şunu bulabiliriz: WebSockets protokolünün deneysel bir uygulamasını ekledi, henüz iyi test edilmemiş ve varsayılan olarak devre dışı bırakılmıştır.

Sunulan bir diğer yenilik ise, HTTP 1.0 / 1.1 protokol uygulama spesifikasyonlarıyla uyumluluk iyileştirildiAyrıca, parçalanmış isteklerin kodunu çözmek için kod üzerinde yeniden çalışıldı.

Ayrıca vurgulanmıştır ki hatalı yığınlanmış isteklerle ilgili hataları otomatik olarak döndürmek için kod eklendi, çok büyük veri boyutu ve yanlış İçerik Uzunluğu başlık ayarı.

Gerçekleştirildi dahili optimizasyonlar, örneğin, geliştirilmiş bellek yönetimi, geliştirilmiş karma verimliliği ve HTTP yönteminin ve protokol sürümünün tekrarlayan ayrıştırmasının ortadan kaldırılması.

Ayrıca, HTTP başlık değerlerinin daha katı bir doğrulamasını sağladığı, yanıt başlık değerlerinde bir sekme karakterinin kullanılmasına izin verdiği, ancak özel başlık değerlerinde boşluk kullanılmasını yasakladığı da not edildi.

Bunun yanı sıra, yanıt olarak HTTP üstbilgileri oluşturma kodu tamamen yeniden yazıldı ve zaman aşımı hassasiyeti saniyeden milisaniyeye yükseltildi.

Kodda sorun algılama modlarını seçici olarak etkinleştirmek için derleme seçeneği –enable-dezenfektanlar [= adres, tanımsız, sızıntı, kullanıcı zehiri] eklendi.

Doxy özelliklerinin düzeltilmiş, netleştirilmiş, genişletilmiş ve geliştirilmiş açıklamaları, artık sadece başlıkları okuyarak MHD öğrenmenin çok daha kolay olması gerektiğinden bahsediliyor.

Bu yeni sürümde öne çıkan diğer değişikliklerden:

  • microhttpd.h baÅŸlık dosyasında iyileÅŸtirilmiÅŸ iÅŸlev açıklamaları.
  • API iÅŸlevleri MHD_get_reason_phrase_len_for () ve MHD_create_response_from_buffer_with_free_callback_cls () ilave edildi, MHD_CONNECTION_INFO_HTTP_STATUS bayrak, MHD_get_connection_info (), hem de MHD_CONNECTION_INFO_HTTP_STATUS bayrak yanıtları ve MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_ tepkileri.
  • MSVC'de montaj için proje dosyası eklendi.
  • Yanıt baÅŸlığı oluÅŸumu tamamen yeniden yazıldı. Yeni uygulama daha saÄŸlam, bakımı daha kolay ve geniÅŸletilebilir ve RFC HTTP özelliklerini daha iyi takip ediyor.
  • Performans iyileÅŸtirmeleri: Artık HTTP sürümü ve istek yönteminin kodu yalnızca bir kez çözülüyor (önceden MHD birçok dize karşılaÅŸtırması kullanıyordu

Nihayet onun hakkında daha fazla bilgi edinmekle ilgileniyorsan Bu sürümle ilgili olarak, web sitesindeki kullanım kılavuzlarına ve diğer bilgilere başvurabilirsiniz.

Bağlantı bu.