Deep Linking

What an incredible industry. On the one hand, the debate over REST continues to rage, with the priests of RESTianity still trying to get the whole world to expose every bit of data as globally accessible URLs. On the other hand, debate rages over the legality of “Deep Linking”, with some truly clueless people trying to make it illegal to hyperlink to a URL without permission. Wired covers the deep linking controversy, attempting to present a fair and balanced story that shows multiple perspectives from a number of affected constituencies. The only problem is, the issue isn’t a matter of “multiple perspectives”. It’s a matter of fundamental web axioms, and anyone who is in opposition to these axioms is tragically confused.


Here’s how it works:



  1. Publisher gives a URL to a web page

  2. Someone elseuses the URLto hyperlink tothe web page

  3. Someone else clicks on the link, and is taken to the web page

This is not, as the Wired article implies, a “killer app” of the web, itis the web. It is the only thing the web does! The only reason you would assign a URL to a page is so that people could link to it. If you don’t want people hyperlinking to a page, you just don’t give it a URL. It’s not as if documents assign URLs to themselves — the only way a document gets a URL is if the doument owner assigns it a URL, and the only freekin’ reason that a document owner would be assigning a URL to a document is so that people can hyperlink to it. Assigning a URL to a document is a contract between the publisher and the world saying, “Please hyperlink to me”.


If some guyis upset that people are hyperlinking tohis document, one wonders why the guy published the document by assigning a URL in the first place. Even more puzzling is why he doesn’t just remove the URL. The ability to “deep link”issomething that the publisher can withdraw from at any time, by simply removing the URL assignment for the document in question. It sounds to me like some people accidentally assigned URLs to some of their pages which they didn’t want to be linked, and don’t know how to fix it, and now they want to sue the rest of the world for what is actually gross incompetence on their part.


Note that my dismissal of the “Deep Linking” insanity doesn’t mean that I support the REST zealotry either. I think that publishers should be able to choose how and what to publish at their URLs without having to answer to the architecture Nazis (and in 99.9% of the cases, they do). But if they choose to assign a URL to a distinct resource, they are giving the world permission to “deep link”.


Speaking or URLs and such, Internet Alchemy has an interesting criticism of the .NET frameworks Uri class. I’ve been writing code that ran intosome of the same issues. In the case of URI comparisons, though, I don’t think that anyone has formed a coherent or consistent standard on how to do this yet, so it is hard to claim that the implementation is non-conforming (non-conforming to what standard?). Still, it is an important issue (even if that means nagging the IETF or W3C or whoever to hurry up and come up with a standard). Also, he mentions a bug where the Uri class sometimes fails to consider the querystring as part of the URI for comparison purposes. Luckily I haven’t encountered this bug, but it is important to the code that I am writing that the class behave as the RFC says. So I will check in the morningto see if a bug has been filed (almost certainly has), and if so what is the expected fix date.


WordPress database error: [Can't open file: 'wp_comments.MYI'. (errno: 145)]
SELECT * FROM wp_comments WHERE comment_post_ID = '262' AND comment_approved = '1' ORDER BY comment_date

Leave a Reply