On Sunday, January 30, 2005, at 05:43 PM, Robert Sayre wrote:
How about "Make sure your id is unique from a character-by-character perspective, but also unique in the face of scheme-specific comparisons". That is, don't lean on scheme-specific comparisons to match URIs, but they don't have to be canonical either.
We could augment this:
3.5.2 Comparing Identity Constructs
Instances of Identity constructs can be compared to determine whether an entry or feed is the same as one seen before. Processors MUST compare Identity constructs on a character-by-character basis in a case-sensitive fashion.
...with something like this (...but not exactly, of course):
Because some dopes might not read the preceding sentence, and might use URI comparison routines instead of string comparison routines, it is prudent to ensure that your Identity Constructs are both character-by-character unique as well as unique according to the rules of the chosen URI scheme. For example, because some consumers might incorrectly consider the following to be the same, it would be prudent not to use more than one of them as an identifier:
http://Example.com/1024 http://example.com/1024 http://example.com/102%34