<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.1.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: URLQuiz #2: URL Equivalence and Cachability</title>
	<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/</link>
	<description>Advocating User-Centered URL Design</description>
	<pubDate>Fri, 05 Sep 2008 20:47:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>

	<item>
		<title>By: Devon Young</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2039</link>
		<author>Devon Young</author>
		<pubDate>Thu, 01 Mar 2007 04:05:43 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2039</guid>
					<description>From what I understand about URL's.....

   1. The ‘www’ domain = No
   2. Letter casing in path = Maybe (depends if server's OS is Windows)
   3. Letter casing in domain = No
   4. Index.htm vs. Default.aspx = No
   5. Trailing slash on domain = Yes
   6. Trailing slash on path = No
   7. Empty question mark = No
   8. Empty parameter = No
   9. Port 80 = Yes
  10. Port 443 = No
  11. Https vs. Port 443 = Yes
  12. Ftp vs. Http = No
  13. Letter casing in parameter name = No
  14. Letter casing in parameter value = No
  15. Hash vs. no hash = Maybe
  16. Hash vs. Fragment = No
  17. Fragment vs. no Fragment = No
  18. Plus vs. Space in path = Yes
  19. Space vs. Encoded Space in path = No
  20. Plus vs. Encoded Plus in path = No
  21. Slash vs. Encoded Slash in path = No
  22. Ampersand vs. Encoded Ampersand in path = No
  23. Ampersand vs. Encoded Ampersand in parameter value = No
  24. Equals vs. Encoded Equals in path = No
  25. Equals vs. Encoded Equals in parameter value = No
  26. Parameter order = Yes

...I'm curious to know how wrong or how right I am. :) this was fun!</description>
		<content:encoded><![CDATA[<p>From what I understand about URL&#8217;s&#8230;..</p>
<p>   1. The ‘www’ domain = No<br />
   2. Letter casing in path = Maybe (depends if server&#8217;s OS is Windows)<br />
   3. Letter casing in domain = No<br />
   4. Index.htm vs. Default.aspx = No<br />
   5. Trailing slash on domain = Yes<br />
   6. Trailing slash on path = No<br />
   7. Empty question mark = No<br />
   8. Empty parameter = No<br />
   9. Port 80 = Yes<br />
  10. Port 443 = No<br />
  11. Https vs. Port 443 = Yes<br />
  12. Ftp vs. Http = No<br />
  13. Letter casing in parameter name = No<br />
  14. Letter casing in parameter value = No<br />
  15. Hash vs. no hash = Maybe<br />
  16. Hash vs. Fragment = No<br />
  17. Fragment vs. no Fragment = No<br />
  18. Plus vs. Space in path = Yes<br />
  19. Space vs. Encoded Space in path = No<br />
  20. Plus vs. Encoded Plus in path = No<br />
  21. Slash vs. Encoded Slash in path = No<br />
  22. Ampersand vs. Encoded Ampersand in path = No<br />
  23. Ampersand vs. Encoded Ampersand in parameter value = No<br />
  24. Equals vs. Encoded Equals in path = No<br />
  25. Equals vs. Encoded Equals in parameter value = No<br />
  26. Parameter order = Yes</p>
<p>&#8230;I&#8217;m curious to know how wrong or how right I am. :) this was fun!</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Mike Schinkel</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2047</link>
		<author>Mike Schinkel</author>
		<pubDate>Thu, 01 Mar 2007 05:26:14 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2047</guid>
					<description>Devon:  Thanks. To be honest, I'm going to have to veryif a few of them myself before I post the answers. But I'm hoping to get 10 or more entries before writing up the answers.  Any help soliciting those would be appreciated...</description>
		<content:encoded><![CDATA[<p>Devon:  Thanks. To be honest, I&#8217;m going to have to veryif a few of them myself before I post the answers. But I&#8217;m hoping to get 10 or more entries before writing up the answers.  Any help soliciting those would be appreciated&#8230;</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Stefan</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2052</link>
		<author>Stefan</author>
		<pubDate>Thu, 01 Mar 2007 07:42:32 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2052</guid>
					<description>1. No
2. No
3. Yes
4. No
5. Yes
6. No
7. No
8. No
9. Yes
10. No
11. Yes
12. No
13. No
14. No
15. Yes
16. Yes
17. Yes
18. No
19. Yes
20. Yes
21. No
22. Yes
23. No
24. Yes
25. No
26. No</description>
		<content:encoded><![CDATA[<p>1. No<br />
2. No<br />
3. Yes<br />
4. No<br />
5. Yes<br />
6. No<br />
7. No<br />
8. No<br />
9. Yes<br />
10. No<br />
11. Yes<br />
12. No<br />
13. No<br />
14. No<br />
15. Yes<br />
16. Yes<br />
17. Yes<br />
18. No<br />
19. Yes<br />
20. Yes<br />
21. No<br />
22. Yes<br />
23. No<br />
24. Yes<br />
25. No<br />
26. No</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: polaar</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2067</link>
		<author>polaar</author>
		<pubDate>Thu, 01 Mar 2007 13:28:02 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2067</guid>
					<description>I'm having some trouble with the distinction between No and Maybe. Strictly speaking: for all cases that would normally be No, the server could in fact be resolving them as if they were the same. That's why I have only "maybe" and no "no" answers (although I'd normally say that they should really all be "no")

For the hash/fragment examples: depends whether you count the client side fragment resolving as "dereferencing" (say, you're storing fragments only on some client software). But I've assumed that is not what was meant.

1. The ‘www’ domain: Maybe
2. Letter casing in path: Maybe
3. Letter casing in domain: Yes
4. Index.htm vs. Default.aspx: Maybe
5. Trailing slash on domain: Yes
6. Trailing slash on path: Maybe
7. Empty question mark: Maybe
8. Empty parameter: Maybe
9. Port 80: Yes
10. Port 443: Maybe
11. Https vs. Port 443: Maybe
12. Ftp vs. Http: Maybe
13. Letter casing in parameter name: Maybe
14. Letter casing in parameter value: Maybe
15. Hash vs. no hash: Yes
16. Hash vs. Fragment: Yes
17. Fragment vs. no Fragment: Yes
18. Plus vs. Space in path: Maybe
19. Space vs. Encoded Space in path: Yes
20. Plus vs. Encoded Plus in path: Yes
21. Slash vs. Encoded Slash in path: Maybe
22. Ampersand vs. Encoded Ampersand in path: Yes
23. Ampersand vs. Encoded Ampersand in parameter value: Maybe
24. Equals vs. Encoded Equals in path: Yes
25. Equals vs. Encoded Equals in parameter value: Maybe
26. Parameter order: Maybe

Some more:
- Plus vs space in querystring
- semicolon vs ampersand in querystring
- semicolon vs encoded semicolon in path</description>
		<content:encoded><![CDATA[<p>I&#8217;m having some trouble with the distinction between No and Maybe. Strictly speaking: for all cases that would normally be No, the server could in fact be resolving them as if they were the same. That&#8217;s why I have only &#8220;maybe&#8221; and no &#8220;no&#8221; answers (although I&#8217;d normally say that they should really all be &#8220;no&#8221;)</p>
<p>For the hash/fragment examples: depends whether you count the client side fragment resolving as &#8220;dereferencing&#8221; (say, you&#8217;re storing fragments only on some client software). But I&#8217;ve assumed that is not what was meant.</p>
<p>1. The ‘www’ domain: Maybe<br />
2. Letter casing in path: Maybe<br />
3. Letter casing in domain: Yes<br />
4. Index.htm vs. Default.aspx: Maybe<br />
5. Trailing slash on domain: Yes<br />
6. Trailing slash on path: Maybe<br />
7. Empty question mark: Maybe<br />
8. Empty parameter: Maybe<br />
9. Port 80: Yes<br />
10. Port 443: Maybe<br />
11. Https vs. Port 443: Maybe<br />
12. Ftp vs. Http: Maybe<br />
13. Letter casing in parameter name: Maybe<br />
14. Letter casing in parameter value: Maybe<br />
15. Hash vs. no hash: Yes<br />
16. Hash vs. Fragment: Yes<br />
17. Fragment vs. no Fragment: Yes<br />
18. Plus vs. Space in path: Maybe<br />
19. Space vs. Encoded Space in path: Yes<br />
20. Plus vs. Encoded Plus in path: Yes<br />
21. Slash vs. Encoded Slash in path: Maybe<br />
22. Ampersand vs. Encoded Ampersand in path: Yes<br />
23. Ampersand vs. Encoded Ampersand in parameter value: Maybe<br />
24. Equals vs. Encoded Equals in path: Yes<br />
25. Equals vs. Encoded Equals in parameter value: Maybe<br />
26. Parameter order: Maybe</p>
<p>Some more:<br />
- Plus vs space in querystring<br />
- semicolon vs ampersand in querystring<br />
- semicolon vs encoded semicolon in path</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jacek</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2075</link>
		<author>Jacek</author>
		<pubDate>Thu, 01 Mar 2007 16:08:27 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2075</guid>
					<description>Hi, here's my take, and I haven't compared it with the one reply I see now. Answers taken according to specs (IIRC), not to practice which may differ to a good effect. Only when the two answers differ (same resource, cacheable as same) do I include both.

a. no
b. no
c. yes
d. no
e. yes (because of URI syntax, empty path meaning root?)
f. no (but I wish)
g. yes?
h. no
i. yes
j. no
k. no (but https://mysite.foo:443/ yes)
l. no
m. no
n. no
o. no, yes (because fragID shows resource, but doesn't affect retrieval)
p. no, yes
q. no, yes
r. no (is the URI with space valid?)
s. is the URI with space valid?
t. yes?
u. no
v. yes?
w. no
x. yes?
y. no
z. no (I wish)

I'll compare with Devon now. 8-)</description>
		<content:encoded><![CDATA[<p>Hi, here&#8217;s my take, and I haven&#8217;t compared it with the one reply I see now. Answers taken according to specs (IIRC), not to practice which may differ to a good effect. Only when the two answers differ (same resource, cacheable as same) do I include both.</p>
<p>a. no<br />
b. no<br />
c. yes<br />
d. no<br />
e. yes (because of URI syntax, empty path meaning root?)<br />
f. no (but I wish)<br />
g. yes?<br />
h. no<br />
i. yes<br />
j. no<br />
k. no (but <a href="https://mysite.foo:443/" rel="nofollow">https://mysite.foo:443/</a> yes)<br />
l. no<br />
m. no<br />
n. no<br />
o. no, yes (because fragID shows resource, but doesn&#8217;t affect retrieval)<br />
p. no, yes<br />
q. no, yes<br />
r. no (is the URI with space valid?)<br />
s. is the URI with space valid?<br />
t. yes?<br />
u. no<br />
v. yes?<br />
w. no<br />
x. yes?<br />
y. no<br />
z. no (I wish)</p>
<p>I&#8217;ll compare with Devon now. 8-)</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Dave Risney</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2087</link>
		<author>Dave Risney</author>
		<pubDate>Thu, 01 Mar 2007 20:24:18 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2087</guid>
					<description>I have issues with your definitions of what the answers mean.  I'd argue that 'maybe' will always be a better answer than 'no' because any server may choose to return the same resource for two different URIs.  Additionally 'yes' meaning 
“Which can be cached as the same URL?” depends on what entity is doing the caching.  So I'm answering with 'yes' meaning the URIs are equivalent by RFC 3986 and 'no' meaning that the URIs aren't.


1. The ‘www’ domain = No
2. Letter casing in path = No
3. Letter casing in domain = Yes
4. Index.htm vs. Default.aspx = No
5. Trailing slash on domain = Yes
6. Trailing slash on path = No
7. Empty question mark = No
8. Empty parameter = No
9. Port 80 = Yes
10. Port 443 = No
11. Https vs. Port 443 = No
12. Ftp vs. Http = No
13. Letter casing in parameter name = No
14. Letter casing in parameter value = No
15. Hash vs. no hash = No (but HTTP is guarenteed to return the same resource)
16. Hash vs. Fragment = No (but HTTP is guarenteed to return the same resource)
17. Fragment vs. no Fragment = No (but HTTP is guarenteed to return the same resource)
18. Plus vs. Space in path = No (spaces aren't allowed in URIs)
19. Space vs. Encoded Space in path = No (spaces aren't allowed in URIs)
20. Plus vs. Encoded Plus in path = No
21. Slash vs. Encoded Slash in path = No
22. Ampersand vs. Encoded Ampersand in path = No
23. Ampersand vs. Encoded Ampersand in parameter value = No
24. Equals vs. Encoded Equals in path = No
25. Equals vs. Encoded Equals in parameter value = No
26. Parameter order = No</description>
		<content:encoded><![CDATA[<p>I have issues with your definitions of what the answers mean.  I&#8217;d argue that &#8216;maybe&#8217; will always be a better answer than &#8216;no&#8217; because any server may choose to return the same resource for two different URIs.  Additionally &#8216;yes&#8217; meaning<br />
“Which can be cached as the same URL?” depends on what entity is doing the caching.  So I&#8217;m answering with &#8216;yes&#8217; meaning the URIs are equivalent by RFC 3986 and &#8216;no&#8217; meaning that the URIs aren&#8217;t.</p>
<p>1. The ‘www’ domain = No<br />
2. Letter casing in path = No<br />
3. Letter casing in domain = Yes<br />
4. Index.htm vs. Default.aspx = No<br />
5. Trailing slash on domain = Yes<br />
6. Trailing slash on path = No<br />
7. Empty question mark = No<br />
8. Empty parameter = No<br />
9. Port 80 = Yes<br />
10. Port 443 = No<br />
11. Https vs. Port 443 = No<br />
12. Ftp vs. Http = No<br />
13. Letter casing in parameter name = No<br />
14. Letter casing in parameter value = No<br />
15. Hash vs. no hash = No (but HTTP is guarenteed to return the same resource)<br />
16. Hash vs. Fragment = No (but HTTP is guarenteed to return the same resource)<br />
17. Fragment vs. no Fragment = No (but HTTP is guarenteed to return the same resource)<br />
18. Plus vs. Space in path = No (spaces aren&#8217;t allowed in URIs)<br />
19. Space vs. Encoded Space in path = No (spaces aren&#8217;t allowed in URIs)<br />
20. Plus vs. Encoded Plus in path = No<br />
21. Slash vs. Encoded Slash in path = No<br />
22. Ampersand vs. Encoded Ampersand in path = No<br />
23. Ampersand vs. Encoded Ampersand in parameter value = No<br />
24. Equals vs. Encoded Equals in path = No<br />
25. Equals vs. Encoded Equals in parameter value = No<br />
26. Parameter order = No</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Mike Schinkel</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2112</link>
		<author>Mike Schinkel</author>
		<pubDate>Fri, 02 Mar 2007 05:40:58 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2112</guid>
					<description>@polaar &gt;&gt; I’m having some trouble with the distinction between No and Maybe. Strictly speaking: for all cases that would normally be No, the server could in fact be resolving them as if they were the same. That’s why I have only “maybe” and no “no” answers (although I’d normally say that they should really all be “no”) For the hash/fragment examples: depends whether you count the client side fragment resolving as “dereferencing” (say, you’re storing fragments only on some client software). But I’ve assumed that is not what was meant.

Good points. I added clarification above to explain where I was looking for 'No' vs. 'Maybe.'

@jacek &gt;&gt; Answers taken according to specs (IIRC), not to practice which may differ to a good effect. 

Definitely to specs, not practice as who knows what evil lurks in the hearts of equipment on the web? ;-)

@Dave Risney &gt;&gt; "I have issues with your definitions of what the answers mean. I’d argue that ‘maybe’ will always be a better answer than ‘no’ because any server may choose to return the same resource for two different URIs. Additionally ‘yes’ meaning “Which can be cached as the same URL?” depends on what entity is doing the caching. So I’m answering with ‘yes’ meaning the URIs are equivalent by RFC 3986 and ‘no’ meaning that the URIs aren’t.

As I said to polaar, good points and I (at least attempted) to clarify above.

ALSO, thanks all for participating! I did this to provide a thought exercise and a way to collect enough research to write an article, not to pass for fail anybody! :)  I'll be doing the writeup on this one in the (hopefully near) future.</description>
		<content:encoded><![CDATA[<p>@polaar >> I’m having some trouble with the distinction between No and Maybe. Strictly speaking: for all cases that would normally be No, the server could in fact be resolving them as if they were the same. That’s why I have only “maybe” and no “no” answers (although I’d normally say that they should really all be “no”) For the hash/fragment examples: depends whether you count the client side fragment resolving as “dereferencing” (say, you’re storing fragments only on some client software). But I’ve assumed that is not what was meant.</p>
<p>Good points. I added clarification above to explain where I was looking for &#8216;No&#8217; vs. &#8216;Maybe.&#8217;</p>
<p>@jacek >> Answers taken according to specs (IIRC), not to practice which may differ to a good effect. </p>
<p>Definitely to specs, not practice as who knows what evil lurks in the hearts of equipment on the web? ;-)</p>
<p>@Dave Risney >> &#8220;I have issues with your definitions of what the answers mean. I’d argue that ‘maybe’ will always be a better answer than ‘no’ because any server may choose to return the same resource for two different URIs. Additionally ‘yes’ meaning “Which can be cached as the same URL?” depends on what entity is doing the caching. So I’m answering with ‘yes’ meaning the URIs are equivalent by RFC 3986 and ‘no’ meaning that the URIs aren’t.</p>
<p>As I said to polaar, good points and I (at least attempted) to clarify above.</p>
<p>ALSO, thanks all for participating! I did this to provide a thought exercise and a way to collect enough research to write an article, not to pass for fail anybody! :)  I&#8217;ll be doing the writeup on this one in the (hopefully near) future.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Mike Schinkel</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2113</link>
		<author>Mike Schinkel</author>
		<pubDate>Fri, 02 Mar 2007 05:41:44 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2113</guid>
					<description>Oh, and the quiz will stay open indefinitely. Please test your knowledge...</description>
		<content:encoded><![CDATA[<p>Oh, and the quiz will stay open indefinitely. Please test your knowledge&#8230;</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Devon Young</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2146</link>
		<author>Devon Young</author>
		<pubDate>Fri, 02 Mar 2007 15:40:32 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2146</guid>
					<description>Since we're only talking about URL's, I answered as if I'm a UA, and all I have to go on is the URL itself and no other information about the resource. I felt that was the point of the question(s).</description>
		<content:encoded><![CDATA[<p>Since we&#8217;re only talking about URL&#8217;s, I answered as if I&#8217;m a UA, and all I have to go on is the URL itself and no other information about the resource. I felt that was the point of the question(s).</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Mike Schinkel</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2159</link>
		<author>Mike Schinkel</author>
		<pubDate>Fri, 02 Mar 2007 19:27:45 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-2159</guid>
					<description>@Devon Young: Yes, that the perspective of the User Agent was what I was expecting.</description>
		<content:encoded><![CDATA[<p>@Devon Young: Yes, that the perspective of the User Agent was what I was expecting.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Tom Barta</title>
		<link>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-8259</link>
		<author>Tom Barta</author>
		<pubDate>Tue, 01 May 2007 15:00:13 +0000</pubDate>
		<guid>http://blog.welldesignedurls.org/2007/03/01/urlquiz-2-url-equivalence-and-cachability/#comment-8259</guid>
					<description>See &lt;a href="http://www.rfc-editor.org/rfc/rfc2606.txt" rel="nofollow"&gt;RFC 2606&lt;/a&gt;.  There are actually real TLDs you are encouraged to use for domains, because they are reserved for testing:

.test .example .invalid .localhost

There's also example.{com,org,net}, which is a valid DNS entry to be used for testing.

The domain .foo can't be far behind the inappropriate (but real) .mobi (^:</description>
		<content:encoded><![CDATA[<p>See <a href="http://www.rfc-editor.org/rfc/rfc2606.txt" rel="nofollow">RFC 2606</a>.  There are actually real TLDs you are encouraged to use for domains, because they are reserved for testing:</p>
<p>.test .example .invalid .localhost</p>
<p>There&#8217;s also example.{com,org,net}, which is a valid DNS entry to be used for testing.</p>
<p>The domain .foo can&#8217;t be far behind the inappropriate (but real) .mobi (^:</p>
]]></content:encoded>
				</item>
</channel>
</rss>
