Skip to content

alt-svc: experimental support - #3498

Closed
bagder wants to merge 5 commits into
masterfrom
bagder/alt-svc
Closed

bagder wants to merge 5 commits into
masterfrom
bagder/alt-svc

Conversation

@bagder

@bagder bagder commented Jan 24, 2019 •

Copy link
Copy Markdown
Member

This is the alt-svc: parser. This is a prerequisite to allow upgrading to HTTP/3 correctly but can be used for other HTTP versions as well.

Status:

  • - read alt-svc file from disk (using documented file format
  • - write alt-svc file from disk
  • - parse Alt-Svc: response headers, including ma, clear and persist.
  • - replaces old entries when new alternatives are received
  • - unit tests to verify most of this functionality (test 1654)
  • - act on Alt-Svc: response headers
  • - build conditionally on configure --enable-alt-svc only, feature marked as EXPERIMENTAL
  • - implement CURLOPT_ALTSVC_CTRL
  • - implement CURLOPT_ALTSVC
  • - document CURLOPT_ALTSVC_CTRL
  • - document CURLOPT_ALTSVC
  • - document --alt-svc
  • - add CURL_VERSION_ALTSVC
  • - make curl -V show 'alt-svc' as a feature if built-in
  • - support curl --alt-svc [file] to enable caching, using that file
  • - make tests/runtests.pl able to filter tests on the feature alt-svc
  • - actually use the existing in-memory alt-svc cache for outgoing connections
  • - alt-svc cache expiry
  • - add tests verifying curl acting on Alt-Svc, from header and from loaded cache

Left to work on after first merge

  • handle multiple response headers, when one of them says clear (should override them all)
  • using Age: value for caching age as per spec
  • CURLALTSVC_IMMEDIATELY support
  • CURLALTSVC_ALTUSED support

There are probably a few more details too still missing.

The Alt-Svc spec
Planned curl alt-svc API

@bagder bagder mentioned this pull request Jan 25, 2019
10 of 15 tasks
bagder added a commit that referenced this pull request Feb 5, 2019
@bagder bagder added HTTP HTTP/2 HTTP/3 h3 or quic related labels Feb 13, 2019
@bagder
bagder force-pushed the bagder/alt-svc branch 5 times, most recently from 0d8d8bb to efa4277 Compare February 14, 2019 22:29
@bagder bagder changed the title [WIP] altsvc: add header parser and cache altsvc: add header parser and cache Feb 20, 2019
@bagder bagder changed the title altsvc: add header parser and cache alt-svc: experimental support Feb 27, 2019
@bagder

bagder commented Mar 2, 2019

Copy link
Copy Markdown
Member Author

Rebased and polished for merge. If this doesn't trigger anything major, I will merge this as EXPERIMENTAL code in a day or two. Disabled by default.

@bagder bagder closed this in 98441f3 Mar 3, 2019
@bagder
bagder deleted the bagder/alt-svc branch March 3, 2019 10:19
@lock lock Bot locked as resolved and limited conversation to collaborators Jun 2, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

HTTP HTTP/2 HTTP/3 h3 or quic related

Development

Successfully merging this pull request may close these issues.

1 participant