Линкуй, сокращай. Как работают сокращатели ссылок

Линкуй, сокращай. Как работают сокращатели ссылок

Для этого нужна база данных и генератор новых адресов

Сокращатель ссылок — это сервис, который превращает длинную ссылку в короткую. Смысл в том, чтобы получить как можно более короткий адрес, но при этом, чтобы он отправлял на нужную страницу. А под капотом ещё можно собирать статистику переходов по ссылкам и показывать людям дополнительную рекламу. Вот пример работы нашего собственного сокращателя:

Было: thecode.media/referenceerror-cant-find-variable

Стало: v.thecode.media/rfset

Мы используем сокращатель, чтобы красиво публиковать статьи в соцсети, а потом замерять переходы по ссылкам — например, когда вы кликаете на ссылку из Телеграма, мы это увидим. 

Как технически это устроено

Каждая сокращённая ссылка состоит из домена и токена. 

Домен — это адрес сервера, на котором работает приложение сокращателя ссылок, в нашем случае — v.thecode.media. Если просто зайти на этот адрес, приложение просто перекинет нас на главную страницу журнала, а вот если дать токен… 

Токен — это набор букв и цифр, по которому сокращатель понимает, на какой адрес вас перебросить. В нашем случае токен — rfset. Сам по себе этот токен ничего не значит, его нужно вводить в конкретный сокращатель. 

Под капотом у сокращателя должны быть такие элементы: 

  1. Генератор токенов — он берёт длинную ссылку и генерирует для неё уникальную последовательность символов.
  2. База данных — в ней записано, какому токену соответствует длинная ссылка. 
  3. Обработчик событий — с его помощью можно как сформировать новую ссылку, так и перейти по короткой ссылке на нужную страницу.

Если нам нужно сгенерировать новую ссылку, то процесс будет выглядеть так:

  1. Обработчик получит длинную ссылку и поймёт, что от него нужно сгенерировать короткую ссылку.
  2. Обработчик попросит генератор токенов выдать новый токен и сохранить его в базу данных.
  3. Генератор токенов вернёт новый токен, обработчик скомпонует с ним итоговую ссылку.
  4. Обработчик отдаст короткую ссылку.

Линкуй, сокращай. Как работают сокращатели ссылок

Если нужно будет перейти по короткой ссылке, то всё в обратном направлении: 

  1. Обработчик поймёт, что от него требуют длинную ссылку взамен короткой.
  2. Он сходит в базу данных и спросит, какая ссылка скрывается за токеном.
  3. Получив ссылку, он даст команду браузеру сделать переадресацию.

Зачем ещё это нужно

Сокращатели ссылок чаще всего используют в интернете для такого:

Скрыть рекламные метки. Метки помогают понять эффективность той или иной ссылки. В ссылки зашивают информацию о том, где ссылку разместили, по какому объявлению шла реклама, какой сайт эту рекламу дал и т. д. Выглядят адреса с метками примерно так:

https://practicum.yandex.ru/data-scientist/?utm_source=pr&utm_medium=content&utm_campaign=pr_content_data-scientist_kod&utm_content=big-data-2

Если мы не хотим пугать посетителей своей внутренней аналитикой, то можем сделать короткую ссылку и поставить её вместо длинной: bit.ly/3SQ76WM

Накатить промокоды. Через UTM и другие суффиксы к ссылкам добавляют промокоды или особые команды для работы сайта. Нажал ссылку — получил скидку. 

Собрать статистику. Каждый раз, когда мы нажимаем на короткую ссылку, сервис может подсчитать число переходов по ней. Самый популярный сценарий — сделать для одного материала несколько коротких ссылок, отправить их по разным соцсетям, а потом посмотреть, на какую кликнули больше всего. Так можно понять, в какой соцсети какие материалы лучше заходят. 

Фишинг и мошенничество. К сожалению, часто сокращатели используют, чтобы ввести людей в заблуждение: жертве предлагают невинно выглядящую ссылку, а после клика на неё начинают скачиваться не пойми какие программы, обновляться флеш-плееры, появляются порнобанеры и т. д. Публичные сокращатели ссылок борются с такими схемами, но никто не мешает мошенникам делать собственные сокращатели. 

Примеры сервисов-сокращателей

В интернете работает много сервисов, которые сокращают ссылки и дают много возможностей по их настройке, например:

Ещё вариант — поставить себе на сервер свой сокращатель ссылок и получить полный контроль над ними, например YOURLS PHP script. Обычно это просто набор скриптов, который работает параллельно с основным сайтом и перенаправляет с одного адреса на другой.

Короткие ссылки — не вечные

Все короткие ссылки работают до тех пор, пока работает их сервис и база данных. Как только сервис закроется — ссылки тоже перестанут работать. Если короткие ссылки использовались только в соцсетях, это неприятно, но терпимо, там срок жизни контента — день-два. А вот если у вас на коротких ссылках была построена вся навигация сайта и внутренних ресурсов, это может стать проблемой.

Общее правило такое: если вы хотите, чтобы по ссылке можно было перейти всегда, даже через 10 лет после её публикации — используйте обычные (длинные) адреса. Это не так эстетично, меньше статистики, зато надёжно.

Или создавайте собственный сокращатель и будьте готовы поддерживать его, пока работает интернет. Что мы и сделаем в одной из следующих статей.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
130 тысяч рублей за работу бэкенд-разработчика. Что это значит?
130 тысяч рублей за работу бэкенд-разработчика. Что это значит?

Что нужно делать, чтобы получать столько же.

easy
Три причины начать с веб-разработки (для тех, кто сомневается)
Три причины начать с веб-разработки (для тех, кто сомневается)
easy
Что такое Angular
Что такое Angular

И зачем он фронтенд-разработчику.

medium
Что такое рекурсия
Что такое рекурсия

Это дом, который построил Джек.

easy
Почему Ruby — особенный язык

Потому что он прост как JavaScript и многогранен как С++.

easy
Как получить удалённый доступ к компьютеру

Разбор систем и подходов.

medium
Кто такой дата-сайентист

Если вы не знаете, чем заняться ближайшие 15 лет, — идите в дата-сайенс, помогите нейросетям захватить мир.

easy
Что делает продакт-менеджер и зачем он лично вам
Что делает продакт-менеджер и зачем он лично вам

Гуманитарная минутка

easy
Как работает BitTorrent и почему пиратские торренты так сложно заблокировать
Как работает BitTorrent и почему пиратские торренты так сложно заблокировать

Конспект подкаста «Запуск завтра»

easy
Как программируют Arduino

Многие думают, что на языке Wiring, но на самом деле…

medium
easy