Интересно, как работает сокращение URL-адресов, например, как они извлекают текст из адресной строки и сопоставляют его с правильным URL-адресом, а затем перенаправляют его. Какой язык программирования они используют? Как они ведут историю картографии? Как они обеспечивают уникальность сокращенного URL? Как непрофессионал может отключить его, не посещая URL-адрес?
url
url-shortener
tinyurl
prap19
источник
источник
Ответы:
Вики - твой друг
Обычно в качестве заполнителя используется веб-сайт с более коротким названием, например bit.ly.
Затем bit.ly генерирует для пользователя ключ, который генерируется случайным образом, чтобы не повторяться. С 35 вариантами символов и 8 или около того значениями произведите вычисления. Это много возможных ключей. Если URL-адрес равен ранее существовавшему ключу, я помню, как где-то читал, что они также повторно используют ключи.
На самом деле они не используют конкретный язык программирования, они просто используют простое перенаправление URL-адресов, которое, как мне кажется, можно сделать с помощью HTML.
источник
Специалисты по сокращению URL просто генерируют короткий код, сопоставляют целевой URL с коротким кодом и предоставляют новый URL. Посещение URL-адреса выполняет поиск в базе данных с коротким кодом в качестве ключа и перенаправляет вас на целевой URL-адрес. Между сокращенным URL-адресом и целевым URL-адресом не существует алгоритмической ассоциации, поэтому вы не можете "отменить сопоставление" его, не пройдя через системы сокращения URL-адресов.
Вы можете сделать это с любым языком программирования и хранилищем данных. Генерация кода также тривиальна для обеспечения уникальности; если у вас есть увеличивающийся первичный целочисленный ключ, вы можете просто закодировать ключ как base62 и использовать его. Поскольку коды имеют инкрементный характер, у вас никогда не будет конфликта.
источник
На самом деле процесс довольно прост: там сценарий, который запрашивает URL-адрес, генерирует случайную строку (и проверяет, что эта строка еще не используется) и помещает их в какую-то базу данных. Когда вы запрашиваете URL-адрес, другой сценарий ищет в базе данных случайную строку и, если она найдена, перенаправляет вас на сайт.
Это, конечно, более сложно в производственной среде из-за необходимых функций, таких как предотвращение злоупотреблений, фильтрация URL-адресов, предотвращение спама, проверка URL-адресов и т. Д. Но их довольно просто реализовать.
Язык не имеет значения, в основном подойдет любой.
источник
<key, url>