Caddy can be used both for testing during local development or as part of a production deployment as an HTTP server and a reverse proxy with the reverse_proxy directive.
A look inside Caddy shows and explains some of the Go code written to build the server.
The official Caddy server docs are the spot to look for what directives can be placed into a Caddy configuration file
Caddy a modern web server supporting HTTP/2 is a quick synopsis on installing Caddy along with a short example configuration file.
HTTP 2.0 on localhost with Caddy shows how to use a self-signed certificate with Caddy to do local development with an HTTP/2 web server.