Страницы

Поиск по вопросам

воскресенье, 8 декабря 2019 г.

Как работают укорачиватели ссылок?

#веб_программирование #ссылки


На текущий момент времени актуальна проблема, что URL многих документов в сети становятся
очень длинными и труднозапоминаемыми. К тому же, чем больше букв - тем легче опечататься
и попасть не туда. Зачастую этим пользуются мошенники.

В связи с этим, появился новый класс полезных сайтов - укорачиватели ссылок. Они
позволяют создать переадресацию с короткого адреса на нужный пользователю сайт. При
этом эта переадресация постоянна. Например, goo.gl/jmKfD указывает на страницу по адресу
http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%91%D0%BE%D0%B9%D0%B5%D1%80%D0%B0_%E2%80%94_%D0%9C%D1%83%D1%80%D0%B0

Так вот. Мне лично представляется возможным два варианта реализации подобных сервисов.


Сжатие ссылки по какому-либо алгоритму обработки текстовой информации.
Создание базы данных с ссылками, при этом доступ к каждому элементу будет производиться
по номеру. Из минусов - сразу ясно, что база данных со временем будет расти. А это
требования к памяти и быстродействию.


Есть ли еще какие-либо варианты?
    


Ответы

Ответ 1



Второй вариант — т.к. напр. bit.ly даёт возможность самому придумать вариант короткой ссылки. Не обязательно с БД, это же просто словарь: ключ-URL. Миллион ссылок займёт около 256 мегов памяти всего. Если совсем большой сервис, можно разбить напр. на 26 серверов, по 1-й букве ключа. Где каждый сервер держит в оперативке весь набор данных своего сегмента.

Ответ 2



index.html
Ссылка:  http://
Короткая ссылка:

ok.php "; if ($url == '') { exit("Не введена ссылка!"); } if(!is_dir($cuturl)) { mkdir("$cuturl", 777); chdir("$cuturl"); $fd=fopen($BASE,"a+"); fwrite($fd,$info); fclose($fd); } else { echo "Такая ссылка уже существует!"; } ?>

Ответ 3



Укорачивание ссылки производится простым вычислением хэша ссылки. Далее хэш ложится в таблицу ссылок по 2-му варианту с индексированием по полю хэша.

Комментариев нет:

Отправить комментарий