A lot of people confuse the terms URLs and URIs. This morning, the PHP Advent post by David Sklar exemplified that. Paul Reinheimer already has a rebuttal for this, and I’m expecting many more.
I agree with Paul, David seems to be missing the point.
- URI: Uniform Resource Identifier/Indicator
- URL: Uniform Resource Locator
The keyword here is IDENTIFIER. Just because you know the identifier, doesn’t mean you know the content/topic yet. An Identifier is normally used by machines to find out where to go. URL Shortening services produce URIs by default, but offer the ability to create URLs. Take for example: http://tinyurl.com/yj432kb and http://tinyurl.com/thirdpartycode . The first one is a URI, a human has no clue what it’s about. The second one, you can guess what it’s about.
The fact that they both end up at the same location may make you think that human readable urls aren’t important, but as the number of shortened urls grow, and the number of services providing these urls grow, we’ll need some way of knowing what’s NSFW, what’s taking you to a phishing site, or what’s just a prank site. As this happens, the chances of someone clicking on jy32kb vs clicking on /thirdpartycode decreases, because people will get burnt too often.
I’m already seeing security teams blocking emails containing tinyurls, twitter clients have the ability to display the end url in your view. URLs do matter, even if they point to the same site, www.cnn.com looks a lot more trustworthy than http://tinyurl.com/4qz
Sure, I can manipulate URLs to give a false sense of security, or to try and fool the search engines. But that’s a different topic, and is already being addressed by search engines