To make sure curldown documents render correctly as markdown, all literal
occurrences of `<` or `>` need to be escaped by a leading backslash.
-## symbols
+## Symbols
All mentioned curl symbols that have their own man pages, like
`curl_easy_perform(3)` are automatically rendered using italics in the output
As of May 2024, the libraries that need to get fixed to remain supported after
May 2025 are: BearSSL and Secure Transport.
-## past removals
+## Past removals
- Pipelining
- axTLS
Since the quiche build manages its dependencies, curl can be built against the latest version. You are *probably* able to build against their main branch, but in case of problems, we recommend their latest release tag.
-## build
+## Build
Build quiche and BoringSSL:
The C API for Hyper is brand new and is still under development.
-## build curl with hyper
+## Build curl with hyper
Using Rust 1.64.0 or later, build hyper and enable its C API like this:
% ./configure LDFLAGS="-Wl,-rpath,<hyper-dir>/target/debug -Wl,-rpath,<hyper-dir>/target/release" --with-openssl --with-hyper=<hyper-dir>
% make
-# using Hyper internally
+# Using Hyper internally
Hyper is a low level HTTP transport library. curl itself provides all HTTP
headers and Hyper provides all received headers back to curl.
SPDX-License-Identifier: curl
-->
-# how to install curl and libcurl
+# How to install curl and libcurl
## Installing Binary Packages
When you build with multiple TLS backends, you can select the active one at
runtime when curl starts up.
-## configure finding libs in wrong directory
+## Configure finding libs in wrong directory
When the configure script checks for third-party libraries, it adds those
directories to the `LDFLAGS` variable and then tries linking to see if it
curl's URL parser allows a few deviations from the spec in order to
inter-operate better with URLs that appear in the wild.
-### spaces
+### Spaces
A URL provided to curl cannot contain spaces. They need to be provided URL
encoded to be accepted in a URL by curl.
is a violation of RFC 3986 but is fine in the WHATWG spec. curl handles these
by re-encoding them to `%20`.
-### non-ASCII
+### Non-ASCII
Byte values in a provided URL that are outside of the printable ASCII range
are percent-encoded by curl.
-### multiple slashes
+### Multiple slashes
An absolute URL always starts with a "scheme" followed by a colon. For all the
schemes curl supports, the colon must be followed by two slashes according to
- `pop3.` means POP3
- all other means HTTP
-### globbing letters
+### Globbing letters
The curl command line tool supports "globbing" of URLs. It means that you can
create ranges and lists using `[N-M]` and `{one,two,three}` sequences. The