مروری بر کوتاهکنندههای آدرسهای اینترنتی – بررسی و مقایسه سرویسها
[۲۶ آذر ۱۳۸۸]
کوتاهکنندههای آدرسهای اینترنتی، سرویسها(یا وبسایتهایی) هستند، که آدرسهای طویل و با تعداد کاراکتر خیلی زیاد رو تبدیل به آدرسهای کوتاه و با کاراکترهای کم میکنن. برای مثال، این آدرس با استفاده از این سرویسها، تبدیل میشه به یک همچین آدرسی، http://bit.ly/87KTQg. اولین سرویسی که به طور حرفهای شروع بهکار کرد و هنوز هم یکی از پرکاربردترین سرویسهای کوتاهکنندهی آدرسه، وبسایت TinyURL بود. این وبسایت در سال ۲۰۰۲ شروع بهکار کرد و هنوز هم با همون شکل و شمایل گذشته مشغول به کاره. بعدها سایتهایی مثل Bit.ly و tr.im و is.gd هرکدوم با امکانات خاص خودشون شروع به کار کردن.
اما حالا این کوتاهشدن آدرسها، چه سود و یا اهدافی میتونه داشته باشه؟
- جلوگیری از آشفتگی: همونطور که خودتون مشاهده میکنید، آدرس اولی، خیلی شلوغ و درهمه، در حالی که آدرس دومی خیلی جمعوُجور و سادهاس. و بهکاربردن آدرس دوم، از به همریختگی متن ما جلوگیری میکنه و البته ظاهر خیلی زیباتری هم خواهد داشت.
- اشغال حداقل فضای ممکن: بعد مرسومشدن سایتهای وبدویی مثل توییتر، فرندفید، فیسبوک و… تعداد کاراکترهایی که در نوشتهها بهکار برده میشد خیلی اهمیت پیدا کردند. مثلاً شما در توییتر تنها مجاز به استفاده از ۱۴۰ کاراکتر هستید. خب حالا اگر بخواید یک آدرس طولانی مثل اونی که در بالا دیدین، به کار ببرید، مطمئناً نمیتونید به راحتی تو این سایتها فعالیت کنید، این بود که سرویسهای کوتاهکنندهی آدرس، خیلی سریع مرسوم و باب شدن.
- محاسبهی آمار بازدید یک لینک: امروزه اکثر سرویسهای کوتاهکننده آدرس، توانایی محاسبهی بازدیدهای یک لینک کوتاهشده رو دارن. به همین دلیل وقتی من لینک کوتاهشدهای رو مثلاً توییت میکنم، خیلی راحت میتونم از تعداد بازدیدهای اون لینک مطلع باشم. علاوه بر اینکه با پیشرفت امکانات این سرویسها، امکانات خیلی بیشتری هم در اختیار کاربران قرار میگیره.
سه مورد بالا، شاید اصلیترین دلایلی بودن که باعث شد، وجود سرویسهای کوتاهکننده آدرسها، بهوجود بیاد و تا این حد هم پیشرفت کنن.
شیوه کار کوتاهکنندههای آدرس:
اما شاید بد نباشه، کمی هم در مورد شیوهی کار این سرویسها بدونیم، که اصلاً چطور این سرویسها میتونن این تعداد عظیم از آدرسهای اینترنتی رو بهراحتی تحت پوشش قرار بدن.
هر آدرس بلند، بعد از کوتاهشدن به یک کلید وابسته میشه. این کلید همون کاراکترهاییست که درست بعد از آدرس وبسایت کوتاهکننده میاد. به عنوان مثال کلید آدرس کوتاهشدهی http://bit.ly/87KTQg عبارتِ ۸۷KTQg ست. حالا برای ساخته شدن این کلید، چندین روش وجود داره:
- سیستم Base36، که شامل ۲۶ حرفِ الفبای انگلیسی و ده رقم ۰ تا ۹ میشه. که اگر سرویس کوتاهکننده، حروف بزرگ و کوچک رو هم مد نظر قرار بده، این سیستم به Base62 تغییر پیدا میکنه، یعنی، ۲۶ حرف کوچک، ۲۶ حرف بزرگ و ۱۰ رقم.
- تابع هَش، که با استفاده از اون و سیستم شمارهدهی تصادفی، کلیدهایی غیرقابل پیشبینی تولید میشن.
- سیستم پیشنهادی کاربران، که با استفاده از کاراکترهای آدرس بلندی که توسط کاربر به سیستم داده میشه، یک آدرس کوتاهشده تولید میشه.
تمامی سرویسهای موجود، از سه الگوی بالا(البته با کمی دستکاری و بعضاً الگوریتمهای اختصاصی)، برای کوتاهکردن آدرسها استفاده میکنن.
یک محاسبه:
اگر هر آدرس اینترنتی بخواد کوتاه بشه، آدرسهای کوتاهشده هم طبیعتاً بلندتر و بلندتر خواهند شد. برای مثال سرویس Bit.ly که از سیستم Base62 استفاده میکنه، میتونه ۶^(۱۰+۲۶+۲۶) آدرس کوتاهشده با کلید ششتایی ایجاد بکنه.
به عبارت دیگه: اگر متغیر r تعداد حروف(+اعدادی) باشه که سرویس کوتاهکننده آدرس ازش استفاده میکنه، و n طول کلید تولیدشده(کاراکترهاییه که بعد از آدرس سایت کوتاهکنندهی آدرس قرار میگیرن) باشه، تعداد کل صفحاتِ با آدرس یکتایی که از این شیوه میتونه کوتاه بشه، از فرمول زیر بدست میاد:
حالا مثلاً ما میخوایم بدونیم تعداد کل آدرسهای با کلید ۶تایی که سرویس Bit.ly که از سیستم Base64(ینی از حروف کوچک، حروف بزرگ و اعداد) استفاده میکنه، میسازه چه تعداد خواهد بود، باید اعداد n=64(که از سیستم پایه۶۴ گرفته شده) و عدد r=6(طول کلید تولیدشده) رو تو فرمول بالا جایگزین کنیم. وبسایت WolframAlpha این سری رو بهراحتی برای ما حل میکنه و ما رو به عدد ۵۷۷۳۱۳۸۶۹۸۶ خواهد رسوند. ینی وبسایت Bit.ly قادره که تعداد پنجاهوُهفت میلیارد و هفتصدوُسیوُیک میلیون و سیصدوُهشتادوُشش هزار و نهصدوُهشتادوُشش آدرس اینترنتی رو با کلیدهایی ۶تایی کوتاه بکنه!
همونطور که میبینید، عدد بهقدری بزرگه که این وبسایتها تقریباً هیچمشکلی در زمینه کوتاهکردن آدرسها نخواهند داشت.