Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

alt-svc: experimental support #3498

Closed
wants to merge 5 commits into from

Conversation

Projects
None yet
1 participant
@bagder
Copy link
Member

commented Jan 24, 2019

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 referenced this pull request Jan 25, 2019

Open

[WIP] QUIC and HTTP/3 #3500

10 of 15 tasks complete

@bagder bagder force-pushed the bagder/alt-svc branch from a90b208 to bca4f04 Jan 28, 2019

@bagder bagder force-pushed the bagder/alt-svc branch from d24071b to 7662c55 Feb 5, 2019

bagder added a commit that referenced this pull request Feb 5, 2019

@bagder bagder force-pushed the bagder/alt-svc branch from 7662c55 to d15ea11 Feb 13, 2019

bagder added a commit that referenced this pull request Feb 13, 2019

@bagder bagder force-pushed the bagder/alt-svc branch 5 times, most recently from 0d8d8bb to efa4277 Feb 14, 2019

@bagder bagder changed the title [WIP] altsvc: add header parser and cache altsvc: add header parser and cache Feb 20, 2019

@bagder bagder force-pushed the bagder/alt-svc branch from c00efec to ac16780 Feb 26, 2019

@bagder bagder changed the title altsvc: add header parser and cache alt-svc: experimental support Feb 27, 2019

bagder added some commits Mar 2, 2019

@bagder bagder force-pushed the bagder/alt-svc branch from ac16780 to e0e4ed4 Mar 2, 2019

@bagder

This comment has been minimized.

Copy link
Member Author

commented Mar 2, 2019

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 Mar 3, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.