[generic] Add support for protocol-independent URLs (Fixes #2810)