core: set URL to opaque if there is no path
core: shorthand boxes must be foo/bar formatted, better errors