Arka uçlar (Backends)

curl'deki bir arka uç, derleme zamanında seçilebilir alternatif bir uygulamadır.

curl'ü derlediğinizde, birkaç farklı şey için alternatif uygulamalar seçebilirsiniz. Aynı özellik setinin farklı sağlayıcıları. curl'ü derlediğinizde hangi arka ucu veya arka uçları (çoğul) kullanacağınızı seçersiniz.

  • Arka uçlar seçilebilir ve seçimi kaldırılabilir
  • Genellikle platforma bağımlıdır
  • Özelliklerde farklılık gösterebilir
    1. taraf lisanslarında farklılık gösterebilir
  • Olgunlukta farklılık gösterebilir
  • Dahili API'ler asla harici olarak ifşa edilmez

Farklı arka uçlar

libcurl kaynak kodunda, işlevsellik sağlamak için dahili API'ler vardır. Bu farklı alanlarda birden fazla farklı sağlayıcı vardır:

  1. IDN
  2. İsim çözümleme
  3. TLS
  4. SSH
  5. HTTP/3
  6. HTTP içerik kodlaması

Görselleştirilmiş arka uçlar

libcurl arka uçları

Uygulamalar (üstteki yeşil bulutta) libcurl'e genel API aracılığıyla erişir. API sabit ve kararlıdır.

Dahili olarak, libcurl'ün çekirdeği, yapması gereken farklı görevleri gerçekleştirmek için dahili API'leri kullanır. Bu dahili API'lerin her biri, çoğu zaman farklı üçüncü taraf kütüphaneler tarafından desteklenen alternatif uygulamalar tarafından desteklenir.

Yukarıdaki resim, farklı dahili API'leri destekleyen farklı üçüncü taraf kütüphaneleri göstermektedir. Mor kutular bir veya daha fazladır ve koyu gri olanlar "bunlardan biri"dir.

HTTP/3 arka uçları

HTTP/3 arka uçları

libcurl, bu resimde farklı sütunlar olarak görselleştirilen dört farklı arka uç sunar.

Her satırın belirli bir arka uç derlemesi olduğu bir tablodaki aynı veriler:

durumHTTP/3 kütüphanesiQUIC kütüphanesiTLS kütüphaneleri (bir tanesi)
önerilennghttp3ngtcp2fork ailesi, GnuTLS veya wolfSSL
deneyselquichequicheBoringSSL veya quictls
deneyselmsh3msquicfork ailesi veya Schannel
deneyselnghttp3OpenSSL 3.3.0+OpenSSL 3.3.0+

fork ailesi, BoringSSL, LibreSSL, quictls ve AWS-LC anlamına gelir