Protocol-agnostic urls