It would be good to specify precisely what "hierarchical" means.
In RFC 3986, the distinction does not exist anymore.
For instance, for
as pathname, which intuitively seems to be the right thing, given the URI grammar.
In a document with URL "data:text/html,aa/bb/cc", how is a relative URL "../" supposed to be processed?
I'm not sure what the answer is; but it does not depend on the scheme. Section 5 of RFC 3986 should have all the details.
It _did_ depend on the scheme. As far as I can tell, implementations still think it depends on the scheme, and thus RFC3986 is incorrect. I think the right solution here might be to refer to the previous versions of the RFCs (specifically 2396) for the definition of "hierarchical".
If you seriously believe there's a bug in RFC 3986 then by all means report it (rfc-editor errata page, or on the URI mailing list).
(In reply to comment #3)
> It _did_ depend on the scheme. As far as I can tell, implementations still
> think it depends on the scheme, and thus RFC3986 is incorrect. I think the
> right solution here might be to refer to the previous versions of the RFCs
> (specifically 2396) for the definition of "hierarchical".
- If HTML5 makes it depend on the property of being "hierarchical", it either needs to define that term, or reference the definition somewhere else. Currently it doesn't, and that's why I raised the bug.
- The definition can not hard-wire specific scheme names, because that would make it impossible to deploy new schemes; so it needs to be sufficient to inspect the given base URI, given the fact that the scheme may be unknown.
- That being said, the example given above (IE8 parsing data URIs) seems to indicate that implementations do not uniformly special-case non-hierarchical URIs; thus it should be considered to drop the distinction here.
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
Status: Partially Accepted
Change Description: see diff given below. I went with something more like what webkit does, basing it on the characters after the scheme.
Rationale: The URL specs changed in a non-backwards-compatible fashion, so the HTML5 spec had to either reference the older drafts or change how it used them. The latter seemed easiest.
Checked in as WHATWG revision r4965.
Check-in comment: Define how a URL is established as being 'hierarchical' or 'authority-based'.