Теория создания сервиса для сокращения ссылок / Sandbox / Habr

Lumber room

Awaiting invitation

На сегодняшний день в интернете можно найти очень много сайтов для сокращения ссылок. Первый из них была TinyURL. Она была создана в 2002-ом году. И на сегодняшний день она является одним из самых популярных сайтов для сокращения ссылок.

Также в список самих популярных сайтов в этой сфере входят Bitly и Goo.Gl. Про сокращения URL адресов можете прочитать в Википедии.

Я активно пользовался этими сервисамы (особенно сервисом goo.gl), как в один прекрасный день мне пришло в голову мысль: «А если я создам свой собственный сервис для сокращении ссылок»?

И начал я думать, как же создать такой же сервис, как, например, Bitly? Я знал только одно — в основе всех этих сервисов стоит перенаправление URL. Я специально не гуглил: хотел самому решить эту проблему. И решил! И не только проблему… Я также решил поделится этим с вами. И в этом посте я собираюсь описать теорию создания таких сервисов. К практике перейдем потом…

Как я уже сказал, в основа этих сайтов является перенаправление ссылок. Схема очень проста.
Пользователь вводит в поле ссылку, которую нужно сократить, и нажимает на конпку для сокращения. На сервере начинает работать основной скрипт. Он отправляет 1 или 3 (или больше) запросов к БД (в зависимости от ссылки). А что он, собственно, делает?

  1. во-первых, он смотрит, присутствует ли в БД ссылка, которая вводил пользователь. Если присутствует, он из базы данных получает ключ короткой ссылки и идет сразу к пункту 5. В противном случае, он продолжает следующие шаги,
  2. поскольку в БД такого хэша нет, скрипт создает новый хэш определённой длины,
  3. скрипт ищет в БД созданный хэш. Если он нашёл её, тогда возвращается к пункту 2 и создает новый хэш. В противном случае, идет дальше,
  4. если скрипт дошёл до этого пункта, значит хэш в БД отсутствует. Он записывает в БД хэш с длинной ссылкой,
  5. скрипт выводит на экран ключ ссылки.
Как видите, схема действительна проста. Но это ещё не все. надо ещё и настраивать перенаправление.

Для этого необходима создать файл, который будет перенаправлять к длинной ссылке. Назовем его, например, r.php. Потом в файле .htaccess пишем, что при запросе типа

example.com/key надо запружать страницу example.com/r.php?key=key, где key — это ключ короткой ссылки.

Файл r.php ищет в БД запись с ключом key. Если не нашел, то выводит запись об ошибке. В противном случае (если нашел) скрипт перенаправляет нас к длинной ссылке.

Вот и все. Вот так работают сервисы сокращения ссылок. В следующих постах я перейду к практике создания простого сервиса для сокращения ссылок.

Tags:

  • теория
  • сокращение ссылок
  • url
Hubs:

  • Lumber room

You can’t comment this publication because its author is not yet a full member of the community.

You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.

Лучшие сервисы сокращения ссылок: ТОП-12 бесплатных сервисов

Пишете пост, или статью, или просто личное сообщение, где нужно указать ссылку. Копируете ее. Вставляете. А она оказывается километровой… Знакома ситуация?

В этой статье мы расскажем о сервисах сокращения ссылок, которые помогают в пару кликов сделать из страшилки конфетку.

Содержание:

  1. Cutt.us

  2. Clck.ru

  3. Vk.com/cc

  4. Lnnkin

  5. To.click

  6. Rebrandly

  7. Bitly.com

  8. U. to

  9. Tiny URL.com

  10.  Bit.do

  11.  is.gd

  12.  Polr

1. Cutt.us

Cutt.us – предлагает на выбор 2 версии:


    В результате получаем сокращенный URL https://cutt.us/yadro и QR-код.


      Жмем «Gooo…!» и получаем наши ссылки в сокращенном виде.

      Сервис привлекает своей возможностью сокращения нескольких ссылок за один раз.

      2. Clck.ru

      Clck.ru – русскоязычный сервис от «Яндекса».

      Кроме получения короткой ссылки и QR-кода, есть возможность добавить специальную закладку на панель браузера. И по одному щелчку на нее укоротить ссылку той страницы, на которой вы сейчас находитесь.

      Сервис имеет простой интерфейс, что облегчает работу с ним. Единственным минусом можно назвать отсутствие аналитики.

      3. Vk.com/cc

      Зарегистрированные пользователи «ВКонтакте» имеют приятный бонус в виде сервиса для сокращения ссылок.

      Сервис позволяет смотреть статистику по переходам (динамику просмотров, пол, возраст, географию), а также выгружать эти данные в формате .xls и .csv.

      Наличие таких функций, как выгрузка статистики, делает работу с сервисом еще более простой.

      4. Lnnkin

      Lnnkin – зарубежный сервис для сокращения ссылок. Отличительной особенностью является возможность задать уникальное имя ссылки и пароль для доступа к ней.

      Даже без регистрации есть возможность собирать статистику по ссылке: просмотры, уникальные пользователи, географию.

      Такой вариант подойдет, если у вас 1-2 ссылки, по которым вы хотите отслеживать статистику. В таком случае вы просто можете страницы со статистикой по этим ссылкам добавить в закладки или сохранить их TrackingID, чтобы не потерять страницы со статистикой.

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

      Данный сервис однозначно рекомендуется к использованию. Даже в бесплатной версии есть возможность создавать неограниченное количество коротких ссылок. К тому же все ссылки не имеют сроки действия и будут работать всегда. А платная версия предлагает функционал для создания более 5000 ссылок через API.

      5. To.click

      To.click – мощный инструмент, который может создавать:

      • обычные сокращенные ссылки,

      • таргетированные ссылки,

      • диплинки (ссылки, для перехода на страницу внутри приложения).

      Есть возможность подключить свой домен к ссылке вместо стандартного clc.to.

      В статистике приводятся такие данные, как:

      Удивительно то, что при наличии такого функционала сервис остается полностью бесплатным.

      6. Rebrandly

      Rebrandly – еще один сервис, который помогает избавиться от длинных ссылок.

      Чтобы сократить ссылку, необходимо:

      1. Пройти регистрацию.

      2. Указать ссылку, нажав кнопку «New link».

      3. Выбрать один из вариантов сокращения (самый короткий URL, SEO – дружественный, или случайный).

      4. Выбрать стандартный домен или зарегистрировать новый.

      5. Если необходимо, добавить UTM-метки

      Бесплатный тариф сервиса позволяет отслеживать только количество кликов. 

      Сервис имеет 5 тарифов, включая бесплатный:

      Для получения доступа к подробной статистике и возможности подключения своего домена, придется заплатить 29 $ в месяц.

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

      7. Bitly.com

      На данный момент Bitly является одним из самых популярных сервисов для сокращения ссылок.

      Полученные ссылки можно редактировать и изменять их короткое имя.

      Платная версия (которая начинается от 29 $ в месяц) позволяет создавать больше ссылок, увеличивать срок их действия, и сохранять отчетность.

      Приятным бонусом является наличие собственного расширения для браузеров, чтобы сокращать ссылки в один клик.

      8. U.to

      U.to – еще один сервис от отечественных разработчиков.

      Для незарегистрированных пользователей доступен только функционал для сокращения ссылок. Для ознакомления со статистикой необходимо пройти регистрацию.

      Попробуем укоротить нашу ссылку https://web-c.ru/blog/oblozhku-dlya-gruppy-vk-canva/. Добавим ее в специальное поле. Жмем кнопку «Сократить» и  получаем ссылку вида https://u.to/4-qPFg.

      Ознакомиться со статистикой можно, перейдя на вкладку «Статистика».

      Сервис довольно старый. Его минусом является использование adobe flash player для отображения статистики. Это может вызвать проблемы с ее отображением, если у вас он не установлен или не обновлен. Но со своей основной функцией он до сих пор справляется отлично.

      9. Tiny URL.com

      Tiny URL.com – еще один «Старичок» в нашем топе. Сервис некоторое время сотрудничал с «Твиттер». После перешел на bit.ly, а затем и вовсе стал самостоятельным сервисом.

      Для начала работы вводим УРЛ. В поле «Custom Alias» можно указать название ссылки, чтобы сделать адрес уникальным.

      Сервис является простым, удобным в использовании и не требует регистрации.

      Читайте также Нативная реклама: обзор и примеры

      10. Bit.do

      Bit.do – сервис, разработанный бразильскими разработчиками.

      К преимуществам сервиса можно отнести:

      • Добавление своего домена для ссылки.

      • Сбор подробной статистики.

      • Функционал для сокращения ссылок.

      • Неограниченное время существования ссылок, созданных через сервис.


        Давайте проверим сервис и попробуем сократить ссылку https://web-c.ru/kontekstnaya-reklama/kontekstnaya-reklama-yandeks-direct/ и задать ей сокращенное имя.

        В результате сервис выдал нам 2 ссылки и QR-код. Первая ссылка – это наш короткий URL, а вторая – это ссылка на статистику.

        Сервис довольно удобный и позволяет быстро получить короткую ссылку с уникальным именем и собрать по ней статистику.

        11. is.gd

        is.gd – бесплатный сервис с простым интерфейсом. 

        Для сокращения ссылку вставляем в специальную графу и жмем кнопку «Ускорить!»  А для отслеживания статистики выбираем «Дополнительные параметры».

         

        И проставляем галочку «Статистика журнала для этой ссылки».

        Для просмотра статистики переходим по указанной ссылке.

        И еще раз.

        В статистике содержатся данные:

        Есть возможность посмотреть статистику по временным периодам, странам, браузерам.

        Сервис работает без регистрации, а история ссылок сохраняется благодаря файлам cookies. QR-код доступен после сокращения.

        12. Polr

        Сервис Polr помогает не только быстро сокращать ссылки, но и настраивать их. Для этого кликаем на кнопку «Параметры ссылки». 

        И задаем необходимое окончание ссылки и публичность.

        Предварительно можно проверить доступность такой комбинации. А после генерации ссылки становится доступен QR-код.


          Нужна помощь в продвижении бизнеса в интернете от профессионалов – оставляйте заявку.

        Сокращений | Руководство по стилю документации для разработчиков Google

        Сокращения включают аббревиатуры, инициализмы, сокращенные слова и сокращения.

        В большинстве случаев техническое различие между акронимами и инициализмами не имеет значения; можно использовать слово , аббревиатуру , для обозначения обоих.

        • Акроним формируется из первых букв слов в фразе, но произносится так, как если бы это было само слово:
          • НАТО на Организация Североатлантического договора
          • акваланг для автономного подводного дыхания аппарат
        • Инициализм также образуется из первых букв слов в фразе, но каждая буква произносится отдельно:
          • ЦРУ для Центральное разведывательное управление
          • FYI для Для информации
          • PR для Связи с общественностью
        • Сокращенное слово — это просто часть слова или словосочетания, иногда с период в конце:
          • Доктор для доктор
          • и т. д. для и т. д.
          • мин на минут
          • CA для Калифорния
        • Схватки обсуждаются в отдельная страница этого руководства по стилю.

        Эти категории частично совпадают. В частности, некоторые аббревиатуры могут быть либо аббревиатурами, либо инициализмами, в зависимости от речи говорящего. предпочтение — примеры включают FAQ и SQL . В некоторых случаях произношение определяет, использовать ли или и .

        Полная и краткая версии слова

        Некоторые слова имеют длинную и короткую версии, например:

        .
        • приложение и приложение
        • демонстрация и демонстрация
        • синхронизировать и синхронизировать

        Сокращенные версии слов не являются аббревиатурами, а если вы используете их, вам не нужно ставить точку после них.

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

        Когда использовать сокращения

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

        Общие правила и запреты

        • Используйте стандартные аббревиатуры и инициализмы, которые сэкономят время читателя.
        • Расшифровывайте аббревиатуры при первом упоминании. Для дополнительной информации, см. Когда произносить термин по буквам.
        • Избегайте использования сокращений для терминов, не связанных с основной темой документа.
        • В следующих примерах основной темой документа является интернет вещей, поэтому низкая околоземная орбита не следует сокращать.

          Рекомендуется: Интернет вещей (IoT) услугу можно использовать даже для подключения к датчикам на низкой околоземной орбите.

          Не рекомендуется: IoT (интернет вещей) услугу можно использовать даже для подключения к датчикам на НОО (низкой околоземной орбите).

        • Остерегайтесь использования специальных сокращений, которые ваши читатели могут не понять. Дополнительные сведения о том, когда использовать такой язык, см. в разделе Жаргон.

        Когда расшифровывать термин

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

        • Граница Протокол шлюза (BGP)
        • Криптография на эллиптических кривых (ECC)

        Для всех при последующем упоминании аббревиатуры используйте аббревиатуру отдельно. Если вы используете сокращение только один раз, включите его только в том случае, если вы считаете, что аббревиатура используется так же часто, как и расшифровка срок. В противном случае не включайте аббревиатуру.

        Заглавная буква написана аббревиатуру только в том случае, если полная форма является именем собственным или обычно пишется с заглавной буквы. То есть не используйте заглавные буквы только потому, что аббревиатура включает заглавные буквы.

        Если первое упоминание о термин встречается в заголовке или названии, вы можете использовать аббревиатуру и затем расшифруйте аббревиатуру в первом абзаце, следующем за заголовком или названием.

        Принимая решение расшифровать термин, учитывайте свою аудиторию. Если ваш документ будет В переводе определение термина может обеспечить важный контекст как для человеческого, так и для машинного перевода. Это также может быть полезно для читателей, которые не так хорошо знакомы с английским языком. Если большинство вашей аудитории, скорее всего, узнают и поймут этот термин, тогда вам не нужно произнеси это. Например, если вы пишете документацию для разработчиков, которая ссылается на API, не нужно писать интерфейс прикладного программирования . Однако, если вы объясняете общая концепция API для тех, у кого нет опыта программирования, изложение сокращение может быть полезным.

        В некоторых случаях расшифровка термина не помогает читателю понять термин. Например, запись переносимого документа в формате не помогает читатель понимает, что такое документ PDF . В этих случаях не указывайте термин.

        Редко требуется расшифровывать следующие сокращения:

        • API
        • DVD
        • Форматы файлов, такие как PDF или XML
        • HTML
        • ПК
        • RAM
        • REST
        • Единицы измерения, такие как МБ или ГБ
        • URL
        • USB

        Неиспользуемые сокращения

        Предпочитайте английские термины латинским сокращениям. Не используйте , т. е. или напр. ; вместо этого используйте , то есть или , например соответственно. Одно исключение: можно использовать и т. д. в некоторые обстоятельства.

        Не используйте аббревиатуры интернет-сленга, такие как тл;др , ммв , РТФМ или другие. Напиши, что ты значит в необразном смысле.

        Используйте наиболее распространенную форму слова. Если написанное слово является общим и легко понять, используйте это, а не сокращение. Например, напишите прибл. вместо прибл.

        Назовите сокращенные слова или общие символы, которые заменяют слова.

        Рекомендуется: Обновление программного обеспечения пропускная способность в 10 раз быстрее.

        Не рекомендуется: обновление программного обеспечения выполнено пропускная способность в 10 раз быстрее.

        Точки с сокращениями

        Следуйте этим инструкциям:

        • Не используйте точки с аббревиатурами или инициализмами.
        • Ставить точку в конце сокращенного слова, кроме сокращения даты и времени.
        • Если написать или произнести аббревиатуру как слово (например, приложение или sync ), после него не ставьте точку.
        • Не используйте точку с аббревиатурой названия страны, США штата или округа Колумбия (DC).

        Делайте сокращения во множественном числе

        Как правило, при написании аббревиатуры, аббревиатуры и другие сокращения следует рассматривать как обычные слова. их во множественном числе — например, API , SKE и IDE .

        Если аббревиатура, инициализм или аббревиатура оканчиваются на с , ш , ч или х , затем добавьте es — например, ОС , DISHes , DCCH и BMX .

        Сокращения как глаголы

        Не используйте аббревиатуры, инициализмы или сокращенные слова в качестве глаголов.

        Не рекомендуется: затем подключитесь к удаленная оболочка.

        Abbreviations — Web Accessibility Guidance Project — NZ Government

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

        Соответствие стандарту веб-доступности

        Если доступен механизм определения расширенной формы или значения аббревиатуры, он соответствует критерию успеха WCAG 2 3.1.4 Сокращения (уровень AAA).

        Примечание: Хотя соответствие критериям успеха уровня AAA, подобным этому, не является обязательным для соответствия стандарту доступности веб-сайтов правительства Новой Зеландии, это настоятельно рекомендуется.

        Что такое аббревиатура?

        Аббревиатура – ​​это сокращенная форма слова, фразы или имени. Сокращений может быть:

        • аббревиатура : термин, в котором используются первые буквы каждого из основных элементов фразы и который произносится как одно слово, например, «PIN» (персональный идентификационный номер)
        • и инициализм : термин, в котором используется первая буква каждого из основных элементов фразы и который произносится как последовательность букв, например, «GST» (налог на товары и услуги) и «NZ» (Новая Зеландия). )
        • a нумероним : термин, в котором используется одна или несколько цифр, часто смешанных с буквами, для обозначения слова, фразы или имени, например, «K9».’ (собака) и ‘sk8ter’ (фигурист)
        • сокращение или простая краткая форма : слово или фраза, которые были сокращены за счет пропуска некоторых букв, например, «грипп» (грипп), «Рд» (дорога), «мэм» (мадам) и «они». «ре» (они есть).

        Примечание: WCAG 2 определяет аббревиатуру как сокращенную форму слова, фразы или имени , где аббревиатура , а не стала частью языка [курсив добавлен] .

        Примеры сокращений, ставших частью английского языка
        • аббревиатуры «лазер» и «радар»
        • инициализмы «DVD» и «PDF»
        • распространенные сокращения, такие как it’s (это) и don’t (не делайте)
        • аббревиатуры, используемые в обычном контексте, такие как «Rd» в почтовом адресе и «GST» в счете-фактуре.

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

        Сделать аббревиатуру доступной

        Развернуть первое упоминание аббревиатуры

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

        • его расширенную форму
        • объяснение, что означает аббревиатура.

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

        Это дает каждому прямой доступ к полному значению аббревиатуры и помогает людям, незнакомым с аббревиатурой, понять, что это такое.

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

        Не полагаться на

        Об элементе

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

        Расширенная форма аббревиатуры может быть дополнительно представлена ​​в атрибуте title открывающего тега .

        Пример с заголовком
         

        Важно, чтобы каждый интерактивный элемент UI имел понятное имя.

        По умолчанию некоторые браузеры отображают элемент с атрибутом title с подчеркиванием через точку, но этот стиль может быть изменен автором страницы.

        При наведении указателя мыши на элемент развернутая форма в заголовке 9Атрибут 0360 будет отображаться в виде всплывающей подсказки.

        Если первый экземпляр аббревиатуры на странице сопровождается ее развернутой формой, то все остальные экземпляры аббревиатуры можно разметить с помощью элемента без атрибута title .

        Дополнительные сведения и примеры использования элемента см. по адресу:

        • : элемент Abbreviation — MDN WebDocs
        • Элемент abbr — HTML Living Standard.
        Почему
        ненадежен

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

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

        Подробнее см. Краткое примечание: Аббревиатура благодарственного общества — TPGi.

        Сценарии использования

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

        В таких случаях рассмотрите возможность использования элемента с атрибутом title , но помните о его ограничениях.

        в заголовке

        Если первый экземпляр аббревиатуры присутствует в заголовке, но не раскрывается и не поясняется, убедитесь, что полное значение аббревиатуры выражено в содержимом, непосредственно следующем за заголовком.

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

        <сокращение> с элементом

        Если определяется аббревиатура, может использоваться с элементом .

        Пример использования с
         

        DOM — это представление содержимого HTML-документа в виде иерархического дерева объектов.

        Другие примеры см. в разделе Определение аббревиатуры — : элемент Abbreviation — MDN WebDocs.

        Тестирование аббревиатур

        Для каждой аббревиатуры проверьте, чтобы ее первый экземпляр на странице:

        • сопровождался ее развернутой формой или объяснением в тексте непосредственно перед или после аббревиатуры, или
        • ссылок на его развернутую форму или объяснение на той же или другой странице.