Even though namespace URIs are not real resources available over HTTP, what is the purpose of XML namespaces? And how are XML parsers related to it? Where their recognition (nam
The answer to the question in your title is:
Namespace names are strongly encouraged to be URIs, though most software interprets the specs as permitting any character string.
URIs can be HTTP "addresses", but they don't have to be.
Some of those who advocate using HTTP addresses as namespace URIs believe that it's a good idea because you can then put human-readable or machine-readable information about the namespace at that address. (W3C does this for W3C-defined namespaces, for example)
However, the use of HTTP addresses as namespace URIs has certainly caused an immense amount of confusion, and some people think it is better to use something that looks more like an identifier and less like the address of a resource.