दूसरों ने उत्तर दिया है कि पुनर्निर्देश कैसे काम करते हैं लेकिन आपको यह भी पता होना चाहिए कि वे अपने छोटे से पेशाब को कैसे उत्पन्न करते हैं। आपने गलती से सुना होगा कि वे छोटे URL के लिए उस अद्वितीय कोड को बनाने के लिए URL का हैश बनाते हैं। यह ज्यादातर मामलों में गलत है, वे हैशिंग एल्गोरिथ्म का उपयोग नहीं कर रहे हैं (जहां आप संभावित रूप से टकराव हो सकते हैं)।
ज्यादातर लोकप्रिय URL की छोटी-छोटी सेवाएँ केवल URL के डेटाबेस में ID लेती हैं और फिर इसे बेस 36 [a-z0-9] (केस असंवेदनशील) या बेस 62 (केस सेंसिटिव) में बदल देती हैं।
एक TinyURL डेटाबेस तालिका का एक सरल उदाहरण:
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
वेब फ़्रेमवर्क जो लचीली रूटिंग की अनुमति देता है, आने वाले URL को वास्तव में आसान (रूबी, ASP.NET MVC, आदि) से निपटने देता है।
तो, अपने वेबसर्वर पर आपके पास एक मार्ग कार्रवाई हो सकती है जो कि लगती है (छद्म कोड):
Route: www.mytinyurl.com/{UrlID}
Route Action: RouteURL(UrlID);
आपके सर्वर के लिए आने वाले किसी भी अनुरोध को रूट करता है, जिसमें आपके डोमेन www.mytinyurl.com के बाद कोई भी पाठ आपके संबंधित विधि, रूटुरल के लिए है। यह उस पाठ की आपूर्ति करता है जो आपके URL में फ़ॉरवर्ड स्लैश के बाद उस विधि से किया जाता है।
तो, आपको अनुरोध करता हूं: www.mytinyurl.com/fif
"पंद्रह" तब आपकी विधि, रूटुरल (स्ट्रिंग UrlID) को पारित कर दिया जाएगा। रूटुरल फिर "दस" को अपने बेस 10 समकक्ष, 20103 में बदल देगा, और एक डेटाबेस अनुरोध आईडी 2010 2010 (इस मामले में, www.digg.com) के तहत जो भी URL संग्रहीत किया जाता है, उसे पुनर्निर्देशित किया जाएगा। आप सही URL पर रीडायरेक्ट करने से पहले Digg के लिए विज़िट की संख्या एक-एक करके बढ़ा देंगे।
यह वास्तव में सरल उदाहरण है लेकिन आपको सामान्य विचार प्राप्त करने में सक्षम होना चाहिए।