a presentation on tag issue URIEquivalence-15 (and irieverywhere?)
Dan Connolly, Feb 2002* w/optional fragments
...refer to it the same way
e.g.
http://example.net:80/ is specified to refer to the
same thing as http://example.net/http://EXAMPLE.net/foo and
http://example.net/foo.http://example.net/FOO and
http://example.net/foo:
Premise: compare u1 and u2, and use the result as information about what they identify, i.e. r1 and r2.
false negative: If r1 = r2 but not R(u1, u2) we say R gives some false negatives.
false positive: If R(u1, u2) but r1 != r2, we say R gives some false positives.
false negatives are a normal consequence of the ordinary situation where local knowledge is incomplete
Axiom: u1 = u2 => r1 = r2.
for absolute URIs (optionally with fragids) u1 and u2, where u1 = u2 is strcmp(b1, b2) where b1 is the US-ASCII encoding of u1 and b2 likewise for u2.
For IRIs, analagously: ecmascript/java/C# string compare[@@double-check] [@@what is this called in the charmod spec?].
Providers: consider using relative references: In http://example/abc , abbreviate http://example/def by a relative URI reference, "def".
"foo" in http://example/dir1/ refers to
r1"foo" in http://example/dir2/ refers to
r2 "foo" = "foo" but r1 != r2. needed to compare http://example/dir1/foo with
http://example/dir2/foo
"../foo" in http://example/dir1/dir3/
refers to r1"foo" in http://example/dir1/ refers to
r1needed to compare http://example/dir1/foo with
http://example/dir1/foo
** or at least act like you did.
/FOO/ and /foo/ as
pathnames for distinct resources.Likewise /foo/ and
/foo/index.html./foo/ and
/foo/index.html to name the same* resource, and hence
treating them as synonyms is often a useful optimization, servers may use
them to name distinct resources, and the responsibility of the
false positive lies with the optimizing client.*or at least: indistinguishable
/robots.txt constrains providers choice of names.
This constraint is largely accepted as fair, deployed with due process.
(@@but is it underdocumented? Does it belong in the HTTP spec as notice that it's a reserved pathname?)
/w3c/p3p.xml?/favico?aaa?n1=v1&n2=v2... where aaa is the action URI and n1...
are the form field names.