It is necessary to have a defined structure in a name in order to allow information to be hidden.

That is, some information is required by the client in order to contact the server, but other information is needed only by the server. The rules of good design require that the server's part should be "opaque" to the client.

In the case in which an object is retrieved, but the reference is in fact to a part (fragment) of that object, then the fragment identifier will be in a form rather specific to the data format of the object (video frames, line numbers, subobject identifiers, etc). In this case, the fragment identifier is another part of the name which may be hidden from the retrieval software, client and server, and understood only by the application which handles that data type.

Tim BL