Diğerleri yönlendirmelerin nasıl çalıştığını yanıtladı, ancak küçük URL'lerini nasıl oluşturduklarını da bilmelisiniz. Kısaltılmış URL için bu benzersiz kodu oluşturmak amacıyla yanlışlıkla URL'nin bir karmasını oluşturduklarını duyacaksınız. Bu çoğu durumda yanlıştır, bir karma algoritma kullanmazlar (potansiyel olarak çarpışmalar yaşayabileceğiniz yerlerde).
Popüler URL kısaltma hizmetlerinin çoğu, URL'nin veritabanındaki kimliği alır ve ardından bunu Base 36 [a-z0-9] (büyük / küçük harf duyarlı) veya Base 62'ye (büyük / küçük harfe duyarlı) dönüştürür.
TinyURL Veritabanı Tablosunun basitleştirilmiş bir örneği:
ID URL VisitCount
1 www.google.com 26
2 www.stackoverflow.com 2048
3 www.reddit.com 64
...
20103 www.digg.com 201
20104 www.4chan.com 20
Esnek yönlendirmeye izin veren Web Çerçeveleri, gelen URL'leri (Ruby, ASP.NET MVC, vb.) İşlemeyi gerçekten kolaylaştırır.
Dolayısıyla, web sunucunuzda şuna benzeyen bir rota eyleminiz olabilir (sözde kod):
Route: www.mytinyurl.com/{UrlID}
Route Action: RouteURL(UrlID);
Www.mytinyurl.com etki alanınızdan sonra herhangi bir metin içeren herhangi bir gelen isteği, ilişkili yönteminiz olan RouteURL'ye yönlendirir. URL'nizdeki eğik çizgiden sonra iletilen metni bu yönteme sağlar.
Diyelim ki talep ettiniz: www.mytinyurl.com/fif
Daha sonra "beş", yönteminiz olan RouteURL'ye (Dize UrlID) geçirilir. RouteURL daha sonra "beş" i, 20103 baz 10 eşdeğerine dönüştürür ve 20103 kimliği altında depolanan URL'ye (bu durumda www.digg.com) yeniden yönlendirme için bir veritabanı isteği yapılır. Doğru URL'ye yönlendirmeden önce Digg için ziyaret sayısını da bir artırabilirsiniz.
Bu gerçekten basitleştirilmiş bir örnek ama genel fikri alabilmelisiniz.