summaryrefslogtreecommitdiff
path: root/docs/ALTSVC.md
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-08-07 14:52:28 +0200
committerDaniel Stenberg <daniel@haxx.se>2019-08-07 23:14:14 +0200
commit317076876a056d26175e07e21bd32f9889bf8ea2 (patch)
tree3ff026fbd2fa4d1e43bbaafade006c145929453a /docs/ALTSVC.md
parentf23d492777de1fab71d50fe5710d57828a67ba5f (diff)
downloadcurl-317076876a056d26175e07e21bd32f9889bf8ea2.tar.gz
docs/ALTSVC: remove what works and the experimental explanation
Also, put the TODO items at the bottom. Closes #4198
Diffstat (limited to 'docs/ALTSVC.md')
-rw-r--r--docs/ALTSVC.md57
1 files changed, 8 insertions, 49 deletions
diff --git a/docs/ALTSVC.md b/docs/ALTSVC.md
index e44319ce1..48401415b 100644
--- a/docs/ALTSVC.md
+++ b/docs/ALTSVC.md
@@ -2,21 +2,6 @@
curl features **EXPERIMENTAL** support for the Alt-Svc: HTTP header.
-## Experimental
-
-Experimental support in curl means:
-
-1. Experimental features are provided to allow users to try them out and
- provide feedback on functionality and API etc before they ship and get
- "carved in stone".
-2. You must enable the feature when invoking configure as otherwise curl will
- not be built with the feature present.
-3. We strongly advice against using this feature in production.
-4. **We reserve the right to change behavior** of the feature without sticking
- to our API/ABI rules as we do for regular features, as long as it is marked
- experimental.
-5. Experimental features are clearly marked so in documentation. Beware.
-
## Enable Alt-Svc in build
`./configure --enable-alt-svc`
@@ -25,39 +10,6 @@ Experimental support in curl means:
[RFC 7838](https://tools.ietf.org/html/rfc7838)
-## What works
-
-- read alt-svc file from disk
-- 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
-- test 355 and 356 verify curl acting on Alt-Svc, received from header and
- loaded from cache. The latter needs a debug build since it enables Alt-Svc
- for plain HTTP.
-
-## What is left
-
-- 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
-
# Alt-Svc cache file format
This a text based file with one line per entry and each line consists of nine
@@ -75,6 +27,13 @@ space separated fields.
4. The ALPN id for the destination host
5. The host name for the destination host
6. The host number for the destination host
-7. Within double quotes, the expiration date of this entry
+7. The expiration date and time of this entry withing double quotes. The date format is "YYYYMMDD HH:MM:SS" and the time zone is GMT.
8. Boolean (1 or 0) if "persist" was set for this entry
9. Integer priority value (not currently used)
+
+# TODO
+
+- 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