[sldev] UUID variant/version bits?
Argent Stonecutter
secret.argent at gmail.com
Thu Nov 29 07:19:16 PST 2007
On 29-Nov-2007, at 00:25, Lawson English wrote:
> Argent Stonecutter wrote:
>> 302 Remote asset
>>
>> Location: http://otherguy:theirport/some/opaque/path/and/id
>>
>> And the asset server AND you can't make any assumptions about what
>> "/some/opaque/path/and/id" means.
>>
>
> But....
>
> What if there is a collission between the UUIDs of two different
> domains?
UUIDs should not be shared between domains, they're only used
internally (for example, in scripts, and in references within
compound assets). Portability of scripts between domains is probably
not a given.
You don't need to have URIs hidden from the clients, either. The
client just needs to track the server it got the URI from and to be
able to go "oh, this is a UUID, I can't use this directly, I better
ask the asset server how to map its UUIDs to URIs". The server would
send the client something like "Use 'http://server:9999/cap/foo/jutsu/
%s'". If the domain does an indirect mapping that would instead be
"Use 'http://server/uuid_map.asp?uuid=%s'" and then it would return a
redirect like the above.
This wouldn't be inefficient. Any of these names could be cached by
the client as a permanent URI to map that UUID to, though it would be
smartest to at least save the first and last of any chain of
redirects and use the most recent (the end) link first. This would
mean that the *server* could cache the result as well, and change it
if someone else's asset server goes down and it needs to remap them
to its locally cached copy of the asset - the client would go "hey,
'http://otherguy:theirport/some/opaque/path/and/id' doesn't work for
UUIO, I'll try 'http://server/uuid_map.asp?uuid=UUID'" and the server
would redirect to 'http://server:9999/cap/foo/jutsu/UUID').
More information about the SLDev
mailing list