Recently, many redirect services have been popping up. From my perspective, it seemed to start out with the success of TinyURL.com which saw a lot of use in newsgroups, instant messaging and e-mail. The main advantage at the time was the prevention of problems with clients and servers adding linebreaks to long URLs posted verbatim, breaking the links in the process. With the advent of microblogging and Twitter in particular, TinyURL got more popular and other services started popping up like the popular Bit.ly.
Now, people are voicing concern about Redirect Hell, since services have started creating redirections to redirection services. How does this work? Well, a service like Bit.ly is fairly simple. It allows you to enter an arbitrary URL. It quickly checks if it has seen it before and tells you its short version for it, if it has. If it hasn’t, it generates a new and unique short URL – often a random arrangement of characters like http://bit.ly/d30KsT, which happens to link to this page. Whenever anyone clicks a shortened link, their browser tries to get them that page (starting with bit.ly) and the Bit.ly service just tells the browser the original address, sending the browser there instead (this is called redirection).
If this ‘original address’ is yet another service like Bit.ly – say TinyURL – it will tell the browser what it thinks the original address was and send it there, i.e. redirect it again. Try this one http://bit.ly/cST1h0; did you enjoy the confusing page inbetween? Now Twitter plans on adding another service on top, changing all links to links starting with t.co. So, you could end up clicking a t.co link, getting sent to a bit.ly address, then getting sent to a tinyurl.com address and finally ending up at the lolcats.com address you were interested in.
Now I am wondering: what is stopping a service like t.co from resolving all known redirectors like bit.ly themselves and directly redirecting the user to the non-redirecting result page?
Instead of the user going down the t.co >> bit.ly >> tinyurl.com >> lolcats chain, Twitter could do that in it’s own spare time and update the initial t.co >> bit.ly link to t.co >> lolcats. They would still get all the information they want (i.e. “how many people link to what” and “how many people clicked this link”) and their users get snappy performance. As a bonus, the full redirect chain only happens once. Everyone we care about wins.
I can see how bit.ly c.s. wouldn’t be amused about getting cut out of the loop, but there’s really no stopping it. Unless of course they fight back and block any requests from known t.co ip ranges, but there’s ways around that too…