> http is a uri > http is a label > http is a domain name > http is a uri scheme name > > Its all the same characters in the same position of the string. First, "http" (by itself) is not a URI, as it doesn't meet the grammar in RFC 3986. Now, considering this hypothetical URI: http://http/http?http#http - The first instance of "http" is a URI scheme name, and that's the *only* thing it is, because that's what RFC 3986 specifies. - The second instance of "http" is an "authority" according to RFC 3986, and that can be a domain name and might be resolved as such. - The third instance is a "path" according to RFC 3986, and it will never be resolved as a domain name. It could be a file-system path, or perhaps just a virtual name within the authority. - The fourth instance is a query parameter according to RFC 3986... also not resolved as a domain name, but processed by the web server as a query parameter. - The fifth instance is a fragment identifier according to RFC 3986, and resolves to some portion of the result of the rendering of the URI. All of that is an academic exercise, but it's certainly false that "Its all the same characters in the same position of the string." The meaning of and the effect of "http" depends upon where in the URI it appears. RFC 3986 is very clear about what each grammatical construct means and how it's used. Barry