Making URL protocol agnostic