| Index — decision map, reading order | references/REFERENCE.md |
| Basics — get/post/put/patch/delete, params, headers, json vs data vs content, files, response attrs | references/basics.md |
| Client and AsyncClient — context manager, pooling, base_url, default headers/cookies/auth, transport, limits | references/client-and-asyncclient.md |
| Async usage — await client.get, asyncio.gather, FastAPI lifespan integration, share vs per-request | references/async-usage.md |
| Auth — BasicAuth, DigestAuth, NetRCAuth, custom Auth flow class, bearer/OAuth2 patterns | references/auth.md |
| Retries and resilience — no built-in retry, tenacity / stamina, timeout knobs, exception hierarchy, raise_for_status | references/retries-and-resilience.md |
| Streaming — stream() context, iter_bytes / aiter_*, streaming upload, SSE via httpx-sse | references/streaming.md |
| HTTP/2 — http2=True, h2 dependency, multiplexing, response.http_version, ALPN | references/http2.md |
| Proxies and TLS — proxy=, mounts=, SOCKS, verify=, custom SSLContext, mTLS, truststore | references/proxies-and-tls.md |
| Testing — MockTransport, ASGITransport, WSGITransport, respx, pytest-httpx | references/testing.md |
| Migration from requests — Session→Client, allow_redirects→follow_redirects, exceptions, no retry, mounts | references/migration-from-requests.md |
| Troubleshooting — ConnectTimeout vs ReadTimeout, CERTIFICATE_VERIFY_FAILED, missing h2, pool exhaustion, leaked async response | references/troubleshooting.md |
| Recommended defaults — context manager, explicit timeout, follow_redirects opt-in, shared AsyncClient, raise_for_status | references/recommended-defaults.md |
| Wrong vs Right — one client per request, missing timeout, blocking sync in async, manual retry loop | references/wrong-vs-right.md |
| Eval cases | references/eval-cases.md |