Самая простая и понятная [короткая ссылка] запись во всей сети

Java Java EE

предисловие

Только лысая голова может стать сильнее.

Текст был включен в мой репозиторий GitHub, добро пожаловать, звезда:GitHub.com/Zhongf UC очень…

Недавно поступил запрос, касающийсякороткая ссылкаСоответствующие знания, поэтому я пошел проверить соответствующую информацию и поделюсь ею с вами здесь.

Помогала Alibaba Cloud продвигать сервер 89/год, 229/3 года.Купила себе в подарок, а девушке отлично подошла на Новый год.Купила проект и показала интервьюеру . Пользователь может купить его с семейного аккаунта, я использую аккаунт своей девушки 😂). Отсканируйте код или нажмите, чтобы купить

Учебное пособие по сборке, начиная с 0 и шаг за шагом😂

1. Введение коротких ссылок

Например, сейчас мой адрес на GitHub такой:https://github.com/ZhongFuCheng3y/3y(36 символов)

С помощью службы коротких ссылок Baidu я могу преобразовать указанный выше адрес вhttps://dwz.cn/LwlrfG4j(23 символа)

转短链接

Тогда зачем мне преобразовывать исходный URL вкорочесвязь? Например, мы отправляемКороткое сообщениеНапомните пользователям перейти на XXX, у XXX есть скидки, и часто в копии есть ссылка для перехода, чтобы пользователи могли быстро перейти на целевую страницу соответствующего мероприятия.

Отправка SMS требует затрат Стоимость SMS в основном состоит из двух аспектов:

  1. Количество отправленных людей (чем больше людей отправит, тем дороже будет натуральный текст сообщения, я не буду это объяснять)
  2. Количество слов, отправляемых текстовыми сообщениями (например, если общее количество слов в копии превышает 70 слов, будет выставлен счет за два текстовых сообщения, а если превысит 140 слов, будет выставлен счет за три текстовых сообщения)

Поэтому при отправке текстовых сообщений пользователям: либо ориентируйтесь на более точных и качественных пользователей, чтобы контролировать количество отправляемых сообщений, либо старайтесь максимально контролировать количество слов в тексте.

Очевидно, что если текстовое сообщение сопровождается обычным URL, количество слов, которое можно написать в реальном копирайтинге, невелико. Таким образом, мы можем обнаружить, что все URL-адреса SMS-рассылок крупных компанийкороткая ссылка.

短链接案例之一

Например, когда некоторые платформы публикуют новости, онилимит символов, если URL-адрес, который мы отправляем, слишком длинный, он будет легко ограничен:

限制字数

Преимущества использования коротких ссылок:Коротко, мало символов, красиво, легко публиковать и распространять.

Во-вторых, как работает короткая ссылка?

Давайте сначала вернемся к сгенерированной короткой цепочке.https://dwz.cn/LwlrfG4j

Хоть эта ссылка и выглядит немного странно, но это все-таки ссылка.Из характеристик URL мы можем отличить:

  • dwz.cnэто доменное имя
  • LwlrfG4jявляется параметром

域名

Давайте запросим короткую ссылку в браузере, чтобы увидеть, что происходит:

302跳转

Принцип коротких ссылок на самом деле таков:

  • Пропускать длинные ссылки через определенный手段создать короткую ссылку
  • То, что вы на самом деле посещаете, когда переходите по короткой ссылке,сервер коротких ссылок, а затем по параметрам короткой ссылкивернутьсяСоответствующая длинная ссылка
  • перенаправить прыжок

大致原理图

2.1 Основная проблема, которую необходимо решить

Что мы можем узнать из вышеприведенного анализа, так это то, что нам действительно нужно сделать, как получить отLwlrfG4jПодобный параметр находит соответствующий полный URL-адрес:https://github.com/ZhongFuCheng3y/3y

Первое, что пришло мне в голову, было: можно ли использовать алгоритм сжатия для преобразованияhttps://github.com/ZhongFuCheng3y/3yСжимать символы меньшего размера?

Очевидно, что нет, большинство алгоритмов сжатия нацелены накрупный текстЭто только работает, и сам URL-адрес не обязательно такой большой... Сжатый URL-адрес должен быть больше исходного URL-адреса.

Второе, что пришло мне в голову: могу ли я использовать алгоритм хеширования?все еще не могу, существует с хэшемхэш-коллизияПроблема

  • Что такое хэш-коллизия? После хеширования двух разных строк (значений) полученные хеш-значения совпадают.
  • Это означает, что две совершенно разные длинные цепочки получают точно такое же значение хеш-функции, и мойКороткие цепочки полагаются на хэши для поиска длинных цепочек.(В настоящее время одна короткая цепочка соответствует нескольким длинным цепочкам, что неразумно).

Что приходит на ум в третий раз?Не могу думать об этом.

Теперь промышленность использует большеУстройство нумерации(Автоинкремент ID)+шестнадцатеричное кодирование:

  • Например, я будуhttps://github.com/ZhongFuCheng3y/3yрассматривается как10000,Потом10000Результат шестнадцатеричной кодировки:2Bi

Тогда мой URL-адрес короткой цепочки можно превратить вhttps://3y.cn/2Bi3y.cnэто доменное имя,2BiЭто параметр после шестнадцатеричного преобразования.

Зачем использовать шестнадцатеричное преобразование? 64-х шестнадцатеричное преобразование гораздо чаще слышно

  • Преобразование в 62 базы происходит потому, что после преобразования в 62 базысодержит толькоЦифры + строчные + прописные буквы. И 64-шестнадцатеричное преобразование будет содержать/,+Такие символы (символы, которые не соответствуют обычным URL-адресам)
  • Преобразование из десятичной в 62сократитьСимволы, если мы хотим 6-битные символы, там уже 56 миллиардов комбинаций.

6位字符

Суммировать:

  • После увеличения идентификатора он преобразуется в шестнадцатеричный, отношение сопоставления сохраняется в БД и генерируется короткая ссылка.

短链接过程

3. Ссылка текстового сообщения переходит прямо в приложение

Следующие источники контента:Things.163cloud.com/blog/art ICL…, Автор: Xixi Blowing Snow

В совокупности это:

  • Через Deep Links (универсальные ссылки для iOS) вы можете щелкнуть ссылку SMS, чтобы напрямую вызвать приложение;
  • Если система не поддерживает Deep Links по разным причинам, альтернативыintent filter, но появится всплывающее окно, позволяющее пользователю выбрать, какое приложение использовать для открытия ссылки;
  • Если пользователь не выбирает наше приложение, а выбирает браузер для открытия, то передайте自定义 schemeПопробуйте вызвать приложение;
  • Из-за технических и стоимостных проблем мы игнорируем неподдерживаемые自定义 schemeбраузер.

短信链接唤醒APP

Наконец

Эта статья предназначена в основном для того, чтобы кратко понять соответствующие знания о коротких ссылках, полный сервис коротких ссылок должен иметь больше вещей для рассмотрения, я не буду расширять его здесь (в конце концов, я на самом деле не написал это, вы можете продолжить по ссылке ниже обучение)~

Для получения дополнительной информации см.:

Эта книга была включена в мои избранные статьи на GitHub, добро пожаловать, звезда:GitHub.com/Zhongf UC очень…

рад вывестигалантерейные товарыОбщедоступный номер технологии Java:Java3y. В публичном аккаунтеБолее 300 оригинальных статейТехнические статьи, обширные видеоресурсы, красивые карты мозга,Следуйте, чтобы получить его!

转发到朋友圈是对我最大的支持!

Большое спасиботалантМы можем видеть здесь, если эта статья хорошо написана, я чувствую себя "три криво"что-тоеслипопросить лайк Пожалуйста, следите за ️ поделитесь пожалуйста 👥 Спросите сообщение 💬Это правда для меняочень полезно! ! !

Творить не легко Ваша поддержка и признание - самая большая мотивация для моего творчества Увидимся в следующей статье!