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을 고스란히
  • 11.2 안전하지 않은 Plain text
  • 11.3 TLS와 라이브러리
  • 11.4 명령줄에서 사용하기
  • 11.5 libcurl 옵션
  • 11.5.1 HTTP/2를 사용하기
  • 11.5.2 다중화
  • 11.5.3 서버 푸시

Was this helpful?

Export as PDF
  1. 한국어

curl에서의 http2

PreviousChromium에서의 http2NextHTTP2 다음에 오는 것

Last updated 5 years ago

Was this helpful?

curl 프로젝트는 http2의 지원을 2013년 9월부터 시험적으로 실시하고 있습니다.

curl 정신에 의해서, 우리는 할 수 있는 한 모든 http2 기능을 제공할 예정입니다. curl은 종종 테스트 도구, web 사이트의 여러가지를 가져오는 개발자의 수단으로 쓰이기 때문에 http2에서도 이 전통을 이을 예정입니다.

curl은 타사 라이브러리 를 http2 프레임레이어의 구현에 사용하고 있습니다. curl은 nghttp2 1.0 이상이 필요합니다.

curl 및 libcurl은 Linux 배포판에서 설치한 경우 반드시 HTTP/2 프로토콜이 지원 되는 것은 아니라는 점에 주의 하십시오.

11.1 HTTP 1.x을 고스란히

curl은 내부적으로 받은 http2 헤더를 HTTP 1.x 스타일의 헤더로 변환하여 사용자에게 제시하기 때문에 기존 HTTP처럼 보입니다.

이에 따라 기존 curl 및 HTTP의 사용에서 쉽게 마이그레이션 할 수 있습니다. 전송 헤더도 마찬가지입니다. HTTP 1.x 스타일에서 헤더를 curl에 전달하고 http2 서버와 통신 할 때 자동으로 변환됩니다. 이를 통해 사용자는 특정 HTTP 버전이 사용되고 있는지 여부 등은 신경 쓰지 않아도 됩니다.

11.2 안전하지 않은 Plain text

curl은 Upgrade 헤더 http2을 표준 TCP에서 지원하고 있습니다. 당신이 HTTP 요청에서 HTTP/2를 요청하는 경우 curl은 서버에 연결을 http2으로 업그레이드 하도록 요청합니다.

11.3 TLS와 라이브러리

curl은 많은 TLS 라이브러리를 지원하며 http2 지원도 마찬가지입니다. TLS의 http2 지원의 문제점은 ALPN 지원을 하지 않고 NPN만 지원 합니다.

최근 OpenSSL 또는 NSS와 함께 curl을 빌드하면 ALPN와 NPN 모두의 지원을 얻을 수 있습니다. GnuTLS와 PolarSSL의 경우 ALPN를 사용할 수 있지만, NPN은 사용할 수 없습니다.

11.4 명령줄에서 사용하기

curl에 http2를 사용하도록 지시하려면 TLS에 관계없이 --http2 옵션을 사용합니다. curl은 아직 기본이 HTTP1.1이고 http2를 사용하는 경우에는 추가 옵션이 필요합니다.

11.5 libcurl 옵션

11.5.1 HTTP/2를 사용하기

응용 프로그램에서 https:// 또는 http:// URL을 지금까지대로 사용하지만 http2를 사용하려면 'curl_easy_setopt'의 'CURLOPT_HTTP_VERSION' 옵션을 'CURL_HTTP_VERSION_2'로 해야 합니다. 이렇게 함으로써 가능한 한 http2를 사용하게 되지만 사용할 수 없는 경우는 HTTP1.1이 사용됩니다.

11.5.2 다중화

11.5.3 서버 푸시

푸시가 응용 프로그램에 의해 받아 들여진 경우 새로운 CURL easy handle이 생성되어 다른 전송 뿐만 아니라 컨텐츠를 수신합니다.

libcurl은 기존의 행동을 유지하려고 하기 때문에 HTTP/2의 다중화 응용 프로그램에서 사용하려면 옵션을 사용합니다. 이 옵션을 사용하지 않는 경우 지금까지와 같이 연결 당 동시 요청 수는 1이 됩니다.

또 하나 주의해야 할 것은 multi 인터페이스를 사용하여 여러 전송을 동시에 libcurl로 할 경우 다중 연결을 사용하는 것입니다. libcurl을 동일한 연결에 모든 전송을 다중화 하려면 전송시 옵션을 사용합니다.

libcurl 7.44.0 이후는 HTTP/2 서버 푸시를 지원하고 있습니다. 이 기능을 사용하려면 옵션을 사용하여 푸시 콜백을 설정합니다.

nghttp2
CURLMOPT_PIPELINING
CURLOPT_PIPEWAIT
CURLMOPT_PUSHFUNCTION