Are protocol-relative URLs relative URLs?
absolute-path, protocol-relative, relative-path, uri, url
Solution
Every relative URL is an unambiguous URL given the URL it is relative to. So if your page is `http://mypage.com/some/folder/` then you know the relative URL `this/that` corresponds to `http://mypage.com/some/folder/this/that` and you know the relative URL `//otherpage.com/` resolves to `http://otherpage.com/`. Importantly, it cannot be resolved without knowing the page URL it is relative to.
A relative URL is any URL that is relative to something and cannot be resolved by itself. An aboslute URL does not require any context whatsoever to resolve.
Problem
So consider a protocol-relative URL like so; ``` //www.example.com/file.jpg ``` The idea I've had in my head for as long as I can remember is that protocol-relative URLs are in fact absolute URLs. They behave exactly like absolute URLs, and never do they work like relative URLs. I wouldn't expect this to make the browser go find something at ``` http://www.example.com///www.example.com/file.jpg ``` The URL defines the host and the path (like an absolute URL does), and the scheme is inherited from whatever the page used, and therefore it makes a complete unambiguous URL, i.e. an absolute URL. Right? Now, upon further research into this, I came upon this answer, which states; A URL is called an absolute URL if it begins with the scheme and scheme specific part (here `//` after `http:`). Anything else is a relative URL. Neither the question nor the answer specifically discuss protocol-relative URLs, so I'm mindful that it can just be an oversight in wording. However, I'm now also now running into an issue in my development, where a system that only accepts absolute URLs doesn't function with protocol-relative URLs, and I don't know if that's by design or due to a bug. The RFC3986 section which is often linked to in relation to protocol-relative URLs also splashes the word "relative" around a lot. 4.3 then goes on to say that absolute URIs define a scheme. All this evidence against my initial assumption led me to the question; Are protocol-relative URLs relative or absolute?