It's a great discussion. Although URLs work quite well, they are not uniform[1], do not necessarily represent resources[2], and are used for other purposes than location[3]. Thus, there is room for both sides to be right: usually, you should treat a URL as everyone else does, but sometimes, it's smarter not to.
[1] What is uniform about them? They mean different things, depending on the context in which they are accessed. http://experts-exchange.com/whatever returns different content, depending on your user-agent, your /etc/hosts, your firewalls and network filters, and so on. Granted, they satisfy a strict technical sense of the word "uniform", but that meaning shouldn't be conflated with its english meaning, as it is in this article.
[2] "Unlike many URLs, the mailto scheme does not represent a data object to be accessed directly." Section 3.5, http://www.ietf.org/rfc/rfc1738.txt
[3] The ":password" part of many protocols is authentication, not location.
So, that leaves '3', which is not exactly secure and most applications that can use it will also happily ask for a password from the user in interactive mode when it isn't supplied.
All I can figure is that some portion of the young hacker crowd grew up with such ubiquity of URLs that they never reflected on the meaning of the name. Or bots.
URLs are a subset of URIs, the differences are subtle for the most part you can ignore the existence of URNs and pretend URL == URI but it is useful to understand how they relate and that there is a difference.
Comments
With the number of upvotes it is getting I am wondering if I'm missing something.
There must be some amazing revelation in there somewhere.
You and I both, especially since it's a repost http://news.ycombinator.com/item?id=1230768
It's a great discussion. Although URLs work quite well, they are not uniform[1], do not necessarily represent resources[2], and are used for other purposes than location[3]. Thus, there is room for both sides to be right: usually, you should treat a URL as everyone else does, but sometimes, it's smarter not to.
[1] What is uniform about them? They mean different things, depending on the context in which they are accessed. http://experts-exchange.com/whatever returns different content, depending on your user-agent, your /etc/hosts, your firewalls and network filters, and so on. Granted, they satisfy a strict technical sense of the word "uniform", but that meaning shouldn't be conflated with its english meaning, as it is in this article.
[2] "Unlike many URLs, the mailto scheme does not represent a data object to be accessed directly." Section 3.5, http://www.ietf.org/rfc/rfc1738.txt
[3] The ":password" part of many protocols is authentication, not location.
[1] experts-exchange is abusing the urls, the fact that they are not 'rest-ful' does not detract from the URL scheme but from experts-exchange.
[2] Mailto is a URI, not a URL. 1738 has long been superseded. http://shadow2531.com/opera/testcases/mailto/modern_mailto_u...
So, that leaves '3', which is not exactly secure and most applications that can use it will also happily ask for a password from the user in interactive mode when it isn't supplied.
Good catch, the dupe checker didn't catch it because of the 'blog' in the original link.
My two cents:
$0.01 People are upvoting based on the title and not the article itself
$0.02 It could be some knee-jerk reaction to the removal of the http:// part of URLs in Chrome. It's then a fear-driven upvote.
All I can figure is that some portion of the young hacker crowd grew up with such ubiquity of URLs that they never reflected on the meaning of the name. Or bots.
Let's help them along a bit then with some real info instead of this watered down errm... stuff:
http://www.faqs.org/rfcs/rfc1738.html
Which has since been superseded by
http://www.faqs.org/rfcs/rfc2396.html
and in turn by:
http://www.faqs.org/rfcs/rfc3986.html
I think that's where we are right now, I might be wrong.
Happy reading.
Incidentally, the article refers to URLs, instead of URIs:
http://en.wikipedia.org/wiki/Uniform_Resource_Identifier
URLs are a subset of URIs, the differences are subtle for the most part you can ignore the existence of URNs and pretend URL == URI but it is useful to understand how they relate and that there is a difference.