Введение

Сокращение URL-адресов — это техника в World Wide Web, при которой Uniform Resource Locator (URL) может быть существенно сокращен, при этом оставаясь ссылкой на нужную страницу. Это достигается с помощью перенаправления, которое ведет на веб-страницу с длинным URL-адресом. Например, URL-адрес "" может быть сокращен до "". Часто доменное имя перенаправления короче исходного. Удобный URL может быть полезен для технологий обмена сообщениями, ограничивающих количество символов в сообщении (например, SMS), для уменьшения объема ручного ввода при копировании URL-адреса из печатного источника, для облегчения запоминания или для создания постоянной ссылки. В ноябре 2009 года сокращенные ссылки сервиса сокращения URL-адресов Bitly были открыты 2,1 миллиарда раз. Другие применения сокращения URL-адресов включают "улучшение" внешнего вида ссылки, отслеживание кликов или маскировку исходного адреса. Это связано с тем, что сократитель URL-адресов может перенаправлять на любой веб-домен, даже вредоносный. Таким образом, хотя маскировка исходного адреса может быть оправдана по законным деловым или личным причинам, она может быть использована в злонамеренных целях. Некоторые поставщики услуг сокращения URL-адресов попадали в спам-листы из-за использования их услуг перенаправления сайтами, пытающимися обойти эти же списки блокировки. Некоторые веб-сайты запрещают публикацию коротких, перенаправленных URL-адресов.

Цели

Есть несколько причин использовать сокращение URL. Часто обычные, не сокращенные ссылки могут быть эстетически непривлекательными. Многие веб-разработчики передают описательные атрибуты в URL для представления иерархий данных, командных структур, путей транзакций или информации о сеансе. Это может приводить к URL-адресам длиной в сотни символов, содержащим сложные шаблоны символов. Такие URL-адреса трудно запомнить, вводить или распространять. В результате длинные URL-адреса приходится копировать и вставлять для надежности. Таким образом, короткие URL-адреса могут быть более удобными для веб-сайтов или печатных публикаций (например, печатного журнала или книги), где очень длинные строки часто требуют разбивки на несколько строк (как в некоторых почтовых программах или интернет-форумах) или усечения. В Twitter и некоторых сервисах обмена мгновенными сообщениями существует ограничение на количество символов в сообщении. Однако Twitter теперь автоматически сокращает ссылки, используя собственную службу сокращения URL, , поэтому нет необходимости использовать отдельную службу сокращения URL только для сокращения URL-адресов в твите. На других подобных сервисах использование сократителя URL может позволить ссылаться на веб-страницы, которые в противном случае нарушили бы это ограничение. Некоторые службы сокращения, такие как , , и могут генерировать URL-адреса, которые легко читаются человеком, хотя полученные строки длиннее, чем те, которые генерируются службой, оптимизированной по длине. Наконец, сайты сокращения URL предоставляют подробную информацию о количестве кликов по ссылке, что может быть проще, чем настройка столь же мощного серверного аналитического движка, и, в отличие от последнего, не требует доступа к серверу. URL-адреса, закодированные в двухмерных штрих-кодах, таких как QR-код, часто сокращаются с помощью сократителя URL, чтобы уменьшить площадь кода при печати или позволить печатать с меньшей плотностью для повышения надежности сканирования.

Регистрация короткого URL-адреса

Некоторые веб-сайты создают короткие ссылки, чтобы упростить обмен ссылками в мгновенных сообщениях и снизить стоимость их отправки по SMS. Это можно сделать онлайн на веб-страницах сервиса сокращения URL-адресов; для пакетной обработки с помощью массовой загрузки, например, с использованием CSV-импортера или по запросу, может потребоваться использование API. Некоторые известные веб-сайты разработали собственные сервисы сокращения URL-адресов для внутреннего использования, например, Twitter с t.co, Google с g.co и GoDaddy с x.co.

Техника

При сокращении URL-адресов каждый длинный URL ассоциируется с уникальным ключом, который является частью, следующей за его доменным именем верхнего уровня. Например, имеет ключ , эти ключи в большинстве случаев чувствительны к регистру, и использование неправильного регистра может привести к другому целевому URL. Не все перенаправления равнозначны; инструкция перенаправления, отправляемая браузеру, может содержать в заголовке коды состояния HTTP-ответа, такие как 301 (перенесено навсегда), 302 (найдено), 307 (временное перенаправление) или 308 (постоянное перенаправление). Существует несколько методов реализации сокращения URL-адресов. Ключи могут генерироваться в системе счисления по основанию 36, используя 26 букв и 10 цифр. В этом случае каждый символ в последовательности будет . Альтернативно, если различаются буквы в верхнем и нижнем регистре, то каждый символ может представлять собой одну цифру в системе счисления по основанию 62 (26 + 26 + 10). Для формирования ключа можно использовать хеш-функцию или генерировать случайное число, чтобы последовательность ключей была непредсказуемой. Или пользователи могут предлагать свои собственные пользовательские ключи. Например, может быть сокращен до . Не все схемы URI могут быть сокращены по состоянию на 2011 год, хотя схемы URI, такие как , , , , , , , , , , , , , , , и поддерживаются такими сервисами, как сокращатели URL. Обычно URL-адреса и не поддерживаются из соображений безопасности (для борьбы с атаками, такими как межсайтовый скриптинг и перехват сеансов). Некоторые сервисы сокращения URL поддерживают перенаправление URL-адресов, в качестве альтернативы изменению адреса, чтобы избежать нежелательного сбора веб-сканерами или ботами. Это иногда может быть сделано с использованием коротких URL-адресов, защищенных CAPTCHA, но это не распространено. Создатели сокращателей URL обычно регистрируют доменные имена с менее популярными или экзотическими доменами верхнего уровня, чтобы получить короткий URL и запоминающееся имя, часто используя доменные хаки. Это приводит к регистрации различных сокращателей URL в множестве разных стран, не устанавливая никакой связи между страной, где домен был зарегистрирован, и самим сокращателем URL или сокращенными ссылками. Домены верхнего уровня таких стран, как Ливия (.ly), Самоа (.ws), Монголия (.mn), Малайзия (.my) и Лихтенштейн (.li), были использованы, а также многие другие. В некоторых случаях политические или культурные аспекты страны, ответственной за домен верхнего уровня, могут стать проблемой для пользователей и владельцев, но обычно это не так. Сервисы могут записывать входящую статистику, которая может быть общедоступной.

Услуги по истечению срока действия и ограниченные по времени

Хотя многие провайдеры утверждают, что их сокращенные URL-адреса будут действовать, пока предоставляется сервис, они могут в любой момент прекратить его работу. Постоянный URL-адрес не всегда является преимуществом. Существуют риски для безопасности, и устаревшие короткие URL-адреса могут продолжать существовать и распространяться даже после того, как они перестанут вести на актуальный или вообще существующий ресурс. Иногда короткий URL-адрес полезен просто для передачи по телефону для однократного доступа или скачивания файла, после чего он становится ненужным уже через несколько минут. Некоторые провайдеры предлагают возможность установки срока действия для сокращенных URL-адресов, например, истечение через определенное время, в конкретную дату или после определенного количества использований. В Microsoft Security Brief рекомендуется создавать URL-адреса с коротким сроком жизни, но исключительно из соображений безопасности, а не удобства.

История

Ранняя ссылка – патент США № 6957224, описывающий систему, метод и компьютерную программу для предоставления ссылок на удалённую информацию в сети удалённо соединённых компьютеров. Унифицированный указатель ресурсов (URL) регистрируется на сервере. С зарегистрированным URL-адресом ассоциируется короткая ссылка. Ассоциированная короткая ссылка и URL-адрес заносятся в базу данных реестра. При получении запроса на короткую ссылку в базе данных реестра выполняется поиск соответствующего URL-адреса. Если короткая ссылка найдена и ассоциирована с URL, URL-адрес извлекается, в противном случае возвращается сообщение об ошибке. Патент был подан в сентябре 2000 года; хотя патент был выдан в 2005 году, заявки на патенты США публикуются в течение 18 месяцев с момента подачи. Другая ссылка на сокращение URL-адресов относится к 2001 году. Первый заметный сервис сокращения URL, TinyURL, был запущен в 2002 году. Его популярность способствовала созданию как минимум 100 аналогичных веб-сайтов, хотя большинство из них являются просто альтернативными доменными именами. Первоначально Twitter автоматически преобразовывал URL-адреса длиной более двадцати шести символов с помощью TinyURL, однако в 2009 году начал использовать bit.ly, а позднее разработал собственный сервис сокращения URL-адресов, t.co.

14 августа 2009 года WordPress объявил о запуске URL-сократителя wp.me для использования при ссылках на любые записи в блогах WordPress.com. В ноябре 2009 года сокращённые ссылки на bit.ly были запрошены 2,1 миллиарда раз. В то время bit.ly и TinyURL были наиболее широко используемыми сервисами сокращения URL-адресов. NanoURL некоторое время возобновил работу, а затем прекратил существование. Самые короткие долгосрочные URL-адреса генерировались NanoURL с декабря 2009 года до примерно 2011 года, с использованием домена верхнего уровня .to (Тонга) в формате , где представляет собой последовательность случайных чисел и букв. 14 декабря 2009 года Google объявил о сервисе Google URL Shortener на goo.gl, который изначально был доступен только для использования через продукты Google (такие как Google Toolbar и FeedBurner) и расширения для Google Chrome. 21 декабря 2009 года Google представил YouTube URL Shortener, youtu.be. С сентября 2010 года Google URL Shortener стал доступен через прямой интерфейс. Сервис goo.gl предоставляет аналитические данные и генератор QR-кодов. 30 марта 2018 года Google объявил о прекращении поддержки goo.gl в ближайшие недели и замене его на Firebase Dynamic Links (однако существующие ссылки goo.gl продолжат функционировать).

Преимущества

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

Недостатки

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

Злоупотребление

Сокращение URL-адресов может использоваться спамерами или для противоправной деятельности в интернете. В результате многие из них были удалены из онлайн-реестров или закрыты веб-хостингами или интернет-провайдерами. По данным Tonic Corporation, реестра доменов, компания "очень серьезно относится к поддержанию доменов в состоянии, свободном от спама" и может удалить сервисы сокращения URL-адресов из своего реестра в случае злоупотреблений. Кроме того, "u. nu" сделала следующее объявление о прекращении деятельности:

Последней каплей стало 3 сентября 2010 года, когда наш хостинг-провайдер отключил сервер без предупреждения в ответ на сообщения о многочисленных ссылках на сайты с детской порнографией. Отключение сервера создало нам серьезные проблемы, и, честно говоря, уровень и характер злоупотреблений стали крайне угнетающими. Выбор между поиском нового хостинга и прекращением работы был сделан в пользу последнего. В дискуссионной группе Google, посвященной сокращению URL-адресов, часто появляются сообщения от разочарованных пользователей, сообщающих об отключении конкретных сокращенных URL-адресов после жалоб на спам. Исследование, проведенное в мае 2012 года, показало, что 61% сервисов сокращения URL-адресов прекратили свою работу (614 из 1002). Наиболее распространенной причиной называлось злоупотребление со стороны спамеров.

Линкрот

Удобство, предоставляемое сокращением URL-адресов, также влечет за собой потенциальные проблемы, что вызвало критику в отношении использования этих сервисов. Сокращенные URL-адреса, например, подвержены проблеме «битых ссылок», если сервис сокращения перестанет функционировать; все URL-адреса, связанные с этим сервисом, станут нерабочими. Существует обоснованное опасение, что многие существующие сервисы сокращения URL-адресов могут не иметь устойчивой бизнес-модели в долгосрочной перспективе. Вместе с двадцатью компаниями-партнерами (первоначально), чьи сокращенные URL-адреса будут сохранены в рамках проекта.

Блокировка и запрет

Некоторые сайты не разрешают размещение коротких перенаправленных URL-адресов. В апреле 2009 года сообщалось о блокировке TinyURL в Саудовской Аравии. Yahoo! Answers блокирует сообщения, содержащие TinyURL, а Википедия не принимает ссылки, созданные сервисами сокращения URL, в своих статьях. Сообщество Reddit настоятельно не рекомендует, а в некоторых подфорумах и вовсе запрещает использование сервисов сокращения URL для публикаций ссылок, поскольку они скрывают исходный домен и факт предыдущей публикации ссылки на Reddit, при этом практически отсутствуют обоснованные причины для использования сократителей ссылок при публикации ссылок на Reddit.

Конфиденциальность и безопасность

Краткий URL скрывает целевой адрес и может быть использован для перенаправления на неожиданный сайт. Примерами этого являются "рик роллинг" и перенаправление на шокирующие сайты или на партнерские сайты. Краткий URL может позволить получить доступ к заблокированным URL, обходя списки блокировок сайтов; это облегчает перенаправление пользователя на заблокированные мошеннические страницы или страницы, содержащие вредоносное ПО или атаки XSS. TinyURL пытается блокировать перенаправление ссылок, связанных со спамом. ZoneAlarm, однако, предупреждает своих пользователей: "TinyURL может быть небезопасен. Этот сайт известен распространением шпионского программного обеспечения". TinyURL решил эту проблему, предложив возможность просматривать пункт назначения ссылки перед использованием сокращенного URL. Эта функция устанавливается в браузере через веб-сайт TinyURL и требует использования файлов cookie. Предварительный просмотр пункта назначения также можно получить, добавив слово "preview" в начало URL-адреса TinyURL; например, пункт назначения раскрывается при вводе. Другие сервисы сокращения URL предоставляют аналогичное отображение пункта назначения. Специалисты по безопасности рекомендуют пользователям проверять пункт назначения короткого URL перед его использованием, особенно после того, как сервис сокращения cli. gs был взломан, подвергнув миллионы пользователей риску. Существует несколько веб-приложений, которые могут отображать целевой URL сокращенного URL. Некоторые сервисы сокращения URL фильтруют свои ссылки через службы проверки безопасности сайтов, такие как Google Safe Browsing. Многие сайты, принимающие пользовательский контент, блокируют ссылки на определенные домены, чтобы уменьшить количество спама, и по этой причине известные сервисы перенаправления URL часто сами добавляются в списки блокировки спама. Еще одна проблема конфиденциальности заключается в том, что сокращенный формат URL многих сервисов достаточно мал, чтобы быть уязвимым для перебора. Многие люди используют URL-сократители при обмене ссылками на личный контент, и, фактически, многие веб-сервисы, такие как Google Maps, предлагают автоматическое создание сокращенных ссылок для маршрутов, которые раскрывают личную информацию, такую как домашние адреса и конфиденциальные направления, такие как "клиники для лечения конкретных заболеваний (включая рак и психические заболевания), центры лечения зависимостей, поставщики услуг по прерыванию беременности, исправительные учреждения и учреждения для несовершеннолетних правонарушителей, кредиторы, выдающие займы до зарплаты и под залог автомобилей, клубы для джентльменов и т.д.".

Дополнительный слой сложности

Краткие URL-адреса, хотя и упрощают доступ к тому, что иначе могло бы быть очень длинным URL-адресом или пользовательским пространством на сервере провайдера, добавляют дополнительный уровень сложности в процесс получения веб-страниц. Каждый доступ требует большего числа запросов (как минимум еще один DNS-запрос, хотя он может быть сохранен в кэше, и еще один HTTP/HTTPS-запрос), что увеличивает задержку, время, необходимое для доступа к странице, а также вероятность сбоя, поскольку сервис сокращения ссылок может стать недоступным. Другим операционным ограничением сервисов сокращения URL-адресов является то, что браузеры не повторно отправляют тела POST-запросов при перенаправлении. Это можно обойти, реализовав сервис как обратный прокси или используя сложные схемы с использованием cookie и буферизированных тел POST-запросов, но такие методы создают проблемы безопасности и масштабируемости и поэтому не применяются в экстранетах или сервисах интернет-масштаба.

Известные услуги

Сайт Компания Тип Пользовательский URL Комментарий bit.ly Bitly для всеобщего использования да goo.gl Google для всеобщего использования Заменено FDL (использует Bitly) g.co Google внутренний Служба ссылок Google ow.ly Hootsuite Media для всеобщего использования да Теперь доступно в панели управления Hootsuite t.co Twitter внутренний Служба ссылок Twitter TinyURL TinyURL для всеобщего использования да w.wiki Wikimedia Foundation внутренний Пользователи могут генерировать ссылки только на проекты Фонда Викимедиа. youtu.be YouTube (Alphabet) внутренний Объявление о ссылках youtu.be

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