AbsoluteURL builds an absolute URL from a relative path.
It uses BaseHost/BaseScheme from config if available, otherwise the address the client
used to reach the server, recorded in the context by the server's address middleware.
PublicURL builds a full URL for public-facing resources.
It uses ShareURL from config if available, otherwise falls back to the address the
client used to reach the server, recorded in the context.