Смогу ли я использовать CURL для получения заголовков HTTP/2?

Щас пользуюсь curl -I чтобы получить заголовки.

Будут ли сайты использовать другой способ обслуживания заголовков с помощью HPACK в будущем внедрении HTTP/2 браузерами, что сделает мое использование команды curl неэффективным?

2 ответа

Решение

Да, вы можете использовать curl для просмотра и отправки заголовков HTTP с HTTP/2 так же, как с HTTP/1.

У curl уже есть поддержка HTTP/2, и он реализован как своего рода слой перевода. Это означает, что он показывает и "делает вид", что заголовки работают в стиле 1.1. Он показывает заголовки в виде текста и отправляет заголовки в обратных вызовах, как это было сделано с 1.1. Мы сделали так, чтобы скрипты и приложения получали очень плавный и практически невидимый путь перехода к HTTP/2 с помощью curl.

Внутренне это, конечно, делается путем распаковки полученных заголовков перед их отображением и показа их перед сжатием при отправке.

Я считаю, что это зависит от версии керла. HTTP/2 был добавлен в curl 7.36.x IIRC? не все дистрибутивы будут иметь эту версию?

Это с curl 7.41.0 через HTTP / 2 против https://google.com/

curl --http2 -I -v https://google.com
* Rebuilt URL to: https://google.com/
*   Trying 173.194.123.1...
* Connected to google.com (173.194.123.1) port 443 (#0)
* ALPN, offering h2-14, http/1.1

* ALPN, server accepted to use h2-14
* Server certificate:
*        subject: C=US; ST=California; L=Mountain View; O=Google Inc; CN=*.google.com
*        start date: 2015-03-11 16:13:43 GMT
*        expire date: 2015-06-09 00:00:00 GMT
*        subjectAltName: google.com matched
*        issuer: C=US; O=Google Inc; CN=Google Internet Authority G2
*        SSL certificate verify ok.
* Using HTTP2    

edit: коррекция, curl --http2 необходимо скомпилировать nghttp2, чтобы он работал https://nghttp2.org/

curl --version 
curl 7.41.0 (x86_64-unknown-linux-gnu) libcurl/7.41.0 OpenSSL/1.0.2b zlib/1.2.8 nghttp2/0.7.8-DEV
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets 
Другие вопросы по тегам