How does tiny url work
Asked Answered
T

2

5

I have been wondering how tiny url works.

I would like to develop something similar for my site, but as most people, I use GUIDs for ids. When an object is created, should I then generate a 10 character random string to use as public id, or is there a smarter approach?

Example of old url: www.mysite.com/default.aspx?userId={id}

Example of new url: www.mysite.com/pwzd4r9niy

Theologize answered 7/7, 2010 at 8:17 Comment(4)
Be careful not to allow collisions with the "real stuff" on your site! That would be bad.Zealot
Borealid, what do you mean by collissions with 'real stuff'?Theologize
Here's a blog post about create a URL shortening service. Goes into a lot of detail about how it works.Frizzy
Dofs: he means that if you generate a "new url" that is the same as a real page, you're going to run into trouble (imagine if your random string was index.aspx for example...).Broadloom
E
5

You can use any kind of random string generator or GUID for this. I don't think there is a much smarter approach. (Palantir offers a nice alternative though, hashing the incoming URL. )

The rest is relatively straightforward: Keep a database table with IDs and target URLs; When a request comes in, look up the ID and do a header redirect to the target URL.

More discussion in this blog post.

There also are redirection services out there now that use words from a dictionary list to build a URL.

Sadly, EvilURL is gone! It used to create "short" URLs like

http://evilURL.com/donkey_porn-shotguns/cracking-virus-exploit

that was the only URL redirection service really worthwhile. :)

And, as a bit of trivia, http://to is the shortest redirection service (and, I think the shortest web URL) known to man.

Entomophilous answered 7/7, 2010 at 8:21 Comment(2)
@Piskvor awww, perfect! You just have to love this: http://5z8.info/malicious-cookie_d5d2_hateminorities :)Entomophilous
Indeed, what's not to like about someone who lives in a pineapple? :DSpyglass
B
0

Just hash the entire string, to a reasonable length.

Brina answered 7/7, 2010 at 8:21 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.