1. Welcome to Fullstack.wiki

  1. URI (Uniform Resource Identifiers)

  1. URI Spaces

URI Spaces

Through the course of an HTTP Request, the document being acted on, as it exists on disk, over the network, or in a user's Web browser, may have one of several different URI spaces:

  1. What the Web browser requests
  2. What the HTTP server sees
  3. Sometimes, which representation the HTTP server negotiates
  4. And if relevant, the resource on the filesystem, or the address the author uses

These URIs might look something like this:

  1. http://example.com:8080/users
  2. http://example.com/users
  3. http://example.com/users.html
  4. file://example.com/var/www/users.html

URI references may be used to refer to resources, regardless of the current URI base.

However, there are several places where the mapping may diverge:

  • Document aliases, including directory listings. e.g. / becomes /index.
  • Content-type negotiation or other negotiation, mapping a name onto a file. e.g. users becomes users.html.
  • Filesystem directory mapping. e.g. http://example.com/ becomes file://example.com/var/www/, which prohibits using relative references beginning with /.
  • Filesystem character set encoding, e.g. %F0%9F%90%B2.txt becomes 🐲.txt or vice-versa.