http2 explained
  • English
    • Background
    • HTTP Today
    • Things done to overcome latency pains
    • Updating HTTP
    • http2 concepts
    • The http2 protocol
    • Extensions
    • An http2 world
    • http2 in Firefox
    • http2 in Chromium
    • http2 in curl
    • After http2
    • Further reading
    • Thanks
  • Español
    • Antecedentes
    • HTTP hoy
    • Estrategias para evitar los dolores de latencia
    • Actualizando HTTP
    • Conceptos de http2
    • El protocolo http2
    • Extensiones
    • Un mundo http2
    • http2 en Firefox
    • http2 en Chromium
    • http2 en curl
    • Después de http2
    • Otras lecturas
    • Agradecimientos
  • فارسی
    • مقدمه و معرفی
    • پیش‌زمینه
    • HTTP امروز
    • کارهایی که برای غلبه بر تأخیرها انجام شده
    • آپدیت‌کردن HTTP
    • مفاهیم http2
    • پرتکل http2
    • افزونه‌ها
    • دنیایی با http2
    • http2 در فایرفاکس
    • http2 در کرومیوم
    • http2 در curl
    • بعد از http2
    • خواندن بیشتر
    • تقدیر و تشکر
    • واژه‌نامه
  • Français
    • Avant-propos
    • HTTP aujourd'hui
    • Rustines pour s'accommoder de la latence
    • Mettre à jour HTTP
    • Concepts http2
    • Le protocole http2
    • Extensions
    • Le monde http2
    • http2 et Firefox
    • http2 et Chromium
    • http2 et curl
    • Après http2
    • Lecture complémentaire
    • Remerciements
  • Italiano
    • Background
    • HTTP oggi
    • Tecniche applicate al contrasto della latenza
    • Aggiornare HTTP
    • http2 a grandi linee
    • Il protocollo http2
    • Estensioni
    • Un mondo di http2
    • http2 in Firefox
    • http2 in Chromium
    • http2 in curl
    • Dopo http2
    • Altre letture
    • Riconoscimenti, Ringraziamenti
  • 日本語
    • 背景
    • HTTPの現状確認
    • レイテンシーの闇を克服せよ
    • もうやめて、HTTP 1.1のライフはゼロよ
    • http2のコンセプト
    • http2プロトコル
    • http2は拡張の夢を見る
    • http2化される世界
    • Firefoxにおけるhttp2
    • Chromiumにおけるhttp2
    • curlにおけるhttp2
    • http2の次にくるもの
    • 参考文献
    • 謝辞
  • 한국어
    • 배경
    • HTTP 현재
    • 대기시간의 고통을 극복하기 위해 한일
    • HTTP 업데이팅
    • http2 컨셉
    • http2 프로토콜 (번역되지 않은)
    • 연장선 (번역되지 않은)
    • http2 세계 (번역되지 않은)
    • Firefox에서의 http2
    • Chromium에서의 http2
    • curl에서의 http2
    • HTTP2 다음에 오는 것
    • 참조
    • 감사의 말
  • Português
    • Antecedentes
    • HTTP Hoje
    • Estratégias para evitar as dores da latência
    • Atualizando HTTP
    • Conceitos de http2
    • O protocolo http2
    • Extensões
    • Um mundo http2
    • http2 e Firefox
    • http2 e Chromium
    • http2 e curl
    • Após o http2
    • Outras leituras
    • Agradecimentos
  • русском
    • История
    • HTTP сегодня
    • Шаги, предпринятые для преодоления задержки
    • Обновление HTTP
    • Концепция http2
    • Протокол http2
    • Расширения
    • Мир http2
    • http2 в Firefox
    • http2 в Chromium
    • http2 в curl
    • После http2
    • Дальнейшее чтение
    • Благодарности
  • Svenska
    • Bakgrund
    • HTTP idag
    • Tricks för att komma över fördröjningssmärtor
    • Uppdatera HTTP
    • http2-koncept
    • http2-protokollet
    • Utökningar
    • En http2-värld
    • http2 i Firefox
    • http2 i Chromium
    • http2 i curl
    • Efter http2
    • Fortsatt läsning
    • Tack
  • Türkçe
    • Arkaplan
    • HTTP'nin Bugünü
    • Gecikmelerin üstesinden gelmek için yapılanlar
    • HTTP'nin güncellenmesi
    • http2 konseptleri
    • http2 protokolü
    • Uzantılar
    • http2 dünyası
    • Firefox'da http2
    • Chromium'da http2
    • curl'de http2
    • http2 sonrası
    • Daha fazla bilgi için
    • Teşekkürler
  • 中文
    • 背景
    • HTTP的现状
    • 那些年,克服延迟之道
    • 升级HTTP
    • http2的观念
    • http2协议
    • 扩展
    • http2的世界
    • Firefox里的http2
    • Chromium里的http2
    • Curl里的http2
    • 后http2时代
    • 扩展阅读
    • 致谢
Powered by GitBook
On this page
  • 11.1. HTTP 1.x benzerlikleri
  • 11.2. Düz metin, güvensiz
  • 11.3. TLS ve bazı kütüphaneler
  • 11.4. Komut satırı kullanımı
  • 11.5. libcurl seçeneği
  • 11.5.1 Etkin HTTP/2
  • 11.5.2 Çoğullama
  • 11.5.3 Sunucu itme

Was this helpful?

Export as PDF
  1. Türkçe

curl'de http2

PreviousChromium'da http2Nexthttp2 sonrası

Last updated 5 years ago

Was this helpful?

, Eylül 2013'ten beri deneysel http2 desteği sağlıyor.

curl ruhu içinde, mümkün olduğunca http2'nin her yönünü desteklemeyi düşünüyoruz. curl sıklıkla bir test aracı ve web sitelerinde takla(poke on) atmanın yolu olarak kullanılır ve bunu http2 için de tutmak niyetindeyiz.

curl, http2 çerçeve katmanı işlevselliği için ayrı kütüphane kullanır. curl, nghttp2 1.0 veya üstünü gerektirir.

Şu anda linux'da curl ve libcurl her zaman HTTP / 2 protokol desteği etkin değildir.

11.1. HTTP 1.x benzerlikleri

Dahili olarak, curl gelen HTTP2 üstbilgilerini HTTP 1.x stil üstbilgilerine dönüştürür ve kullanıcıya sunar; böylece mevcut HTTP'ye çok benzer görünürler. Bu, curl ve HTTP'yi bugün kullananlar için daha kolay bir geçiş sağlar. Benzer şekilde curl, giden üstbilgileri aynı stilde dönüştürür. Onları HTTP 1.x tarzında curl'e verin ve http2 sunucularıyla konuşurken bunları anında dönüştüreceksiniz. Böylece, kullanıcıların hat(wire) üzerinde gerçekten kullanılan belirli HTTP sürümleriyle uğraşmasına veya bakım yapmasına gerek kalmamaktadır.

11.2. Düz metin, güvensiz

curl, HTTP2'yi Standart TCP üzerinden Upgrade: başlığı üzerinden destekler. Bir HTTP isteği yaparsanız ve HTTP 2'yi sorarsanız, curl, sunucudan mümkünse http2 bağlantısını güncellemesini isteyecektir.

11.3. TLS ve bazı kütüphaneler

curl, TLS arka uç için geniş bir yelpazede farklı TLS kütüphanelerini destekler ve bu hala http2 desteği için geçerlidir. Http2'nin uğruna TLS ile olan meydan okuma ALPN desteğidir ve bir ölçüde NPN desteğidir.

Hem ALPN hem de NPN desteği almak için curl'ü OpenSSL veya NSS'nin modern sürümlerine karşı oluşturun. GnuTLS veya PolarSSL'yi kullanarak NPN değil ALPN desteği elde edersiniz.

11.4. Komut satırı kullanımı

Curl'e http2'yi (düz metin veya TLS) kullanmasını söylemek için --http2 seçeneğini (yani" tire çizgisi http2 ") kullanırsınız. curl hâlâ HTTP / 1.1 varsayılanıdır, bu nedenle HTTP2'yi istediğinizde ekstra seçenek gereklidir.

11.5. libcurl seçeneği

11.5.1 Etkin HTTP/2

Uygulamanız normal gibi https: // veya http: // URL'leri kullanıyor ancak libcurl'un http2 kullanmaya teşvik etmek için curl_easy_setopt'ın CURLOPT_HTTP_VERSION seçeneğini CURL_HTTP_VERSION_2 olarak ayarlamalısınız. Daha sonra elinden gelen çabayı gösterebilir ve http2 yapabilir, aksi halde HTTP 1.1 ile çalışmaya devam eder.

11.5.2 Çoğullama

11.5.3 Sunucu itme

Libcurl mevcut davranışları büyük ölçüde korumaya çalıştığından, uygulamanız için seçeneği ile HTTP / 2 çoğullama özelliğini etkinleştirmeniz gerekir. Aksi takdirde, her bağlantı için bir defada bir istek kullanmaya devam edecektir.

Another little detail to keep in mind is that if you ask for several transfers at once with libcurl, using its multi interface, an applicaton can very well start any number of transfers at once and if you then rather have libcurl wait a little to add them all over the same connection rather than opening new connections for all of them at once, you use the option for each individual transfer you rather wait.

Akılda tutulması gereken diğer bir küçük ayrıntı da, bir seferde libcurl ile çoklu aktarım isterseniz, çoklu arayüzü kullanmak, bir uygulama aynı anda herhangi bir sayıda aktarmaya başlayabilir ve daha sonra libcurl'yı eklemek için biraz beklemek zorunda kalırsanız hepsinin aynı anda birden fazla bağlantı kurmasına değil, aynı bağlantıya her seferinde beklediğiniz her bir aktarım için [CURLOPT_PIPEWAIT] seçeneğini kullanabilirsiniz.

libcurl 7.44.0 ve sonrası, HTTP / 2 sunucu itme özelliğini destekler. seçeneği ile bir geri arama geri alma kurarak bu özelliğin avantajından yararlanabilirsiniz. Baskı uygulama tarafından kabul edilirse, başka herhangi bir aktarımda olduğu gibi, CURL kolay işleyici olarak yeni bir aktarım oluşturacak ve içeriği teslim edecektir.

curl projesi
nghttp2
CURLMOPT_PIPELINING
CURLOPT_PIPEWAIT
CURLOPT_PIPEWAIT
CURLMOPT_PUSHFUNCTION