smanders / externpro

build external projects with cmake
MIT License
13 stars 12 forks source link

Build curl with http2 support #225

Closed grahamaj closed 2 years ago

grahamaj commented 5 years ago

This is probably low priority as it is easy to backwards support http 1.1. The current version of curl in externpro supports http2 but curl requires to be built with nghttp2 to be able to use it.

grahamaj commented 5 years ago

curl in externpro:

./curl_7.42.1.exe --http2 -I https://nghttp2.org
curl: (1) Unsupported protocol

curl that fully supports http2:

 curl --http2 -I https://nghttp2.org/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0  6616    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0HTTP/2 200
date: Fri, 08 Feb 2019 18:33:03 GMT
content-type: text/html
last-modified: Fri, 18 Jan 2019 14:22:05 GMT
etag: "5c41e10d-19d8"
accept-ranges: bytes
content-length: 6616
x-backend-header-rtt: 0.017701
strict-transport-security: max-age=31536000
server: nghttpx
via: 2 nghttpx
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
smanders commented 2 years ago

same situation with curl 7.66

$ ./curl_7.66.0 --http2 -I https://nghttp2.org
curl: (1) Unsupported protocol

however, with the move to curl 7.80 https://github.com/smanders/externpro/issues/310

$ ./curl_7.80.0 --http2 -I https://nghttp2.org
HTTP/1.1 200 OK
Date: Tue, 04 Jan 2022 16:19:43 GMT
Content-Type: text/html
Last-Modified: Tue, 19 Oct 2021 10:18:15 GMT
Etag: "616e9b67-19d8"
Accept-Ranges: bytes
Content-Length: 6616
X-Backend-Header-Rtt: 0.002401
Strict-Transport-Security: max-age=31536000
Alt-Svc: h3=":443"; ma=3600, h3-29=":443"; ma=3600
Server: nghttpx
Via: 2 nghttpx
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff