Сокращение URL-адресов — это метод в World Wide Web, при котором унифицированный указатель ресурса (URL) может быть сделан существенно короче и при этом по-прежнему вести на нужную страницу. Это достигается с помощью перенаправления , которое ссылается на веб-страницу с длинным URL-адресом. Например, URL-адрес « https://en.wikipedia.org/wiki/URL_shortening/URL_shortening » можно сократить до « https://w.wiki/U ». Часто доменное имя перенаправления короче исходного. Дружественный URL-адрес может быть желателен для технологий обмена сообщениями, которые ограничивают количество символов в сообщении (например, SMS), для сокращения объема ввода, необходимого при копировании URL-адреса из печатного источника, для облегчения запоминания или для намерения постоянной ссылки . В ноябре 2009 года сокращенные ссылки сервиса сокращения URL-адресов Bitly были доступны 2,1 миллиарда раз. [1]
Другие способы сокращения URL-адресов — «украшение» ссылки, отслеживание кликов или маскировка основного адреса. Это связано с тем, что сокращатель URL-адресов может перенаправлять практически на любой веб-домен, даже вредоносный. Таким образом, хотя маскировка основного адреса может быть желательна в законных деловых или личных целях, она открыта для злоупотреблений. [2] Некоторые поставщики услуг сокращения URL-адресов оказались в списках блокировки спама из-за использования их услуг перенаправления сайтами, пытающимися обойти эти самые списки блокировки. Некоторые веб-сайты запрещают публикацию коротких перенаправленных URL-адресов.
Существует несколько причин использовать сокращение URL. Часто обычные несокращенные ссылки могут быть эстетически непривлекательными. Многие веб-разработчики передают описательные атрибуты в URL для представления иерархий данных, структур команд, путей транзакций или информации о сеансе. Это может привести к URL, длина которых составляет сотни символов и которые содержат сложные шаблоны символов. Такие URL трудно запомнить, набрать или распространить. В результате длинные URL-адреса необходимо копировать и вставлять для надежности. Таким образом, короткие URL-адреса могут быть более удобными для веб-сайтов или печатных изданий (например, печатного журнала или книги), причем в последнем случае часто требуется, чтобы очень длинные строки были разбиты на несколько строк (как в случае с некоторыми программами электронной почты или интернет-форумами ) или усечены.
В Twitter и некоторых службах обмена мгновенными сообщениями существует ограничение на количество символов, которое может содержать сообщение, однако Twitter теперь автоматически сокращает ссылки с помощью собственной службы сокращения URL-адресов t.co , поэтому нет необходимости использовать отдельную службу сокращения URL-адресов только для сокращения URL-адресов в твите. В других подобных службах использование службы сокращения URL-адресов может позволить ссылаться на веб-страницы, которые в противном случае нарушили бы это ограничение. Некоторые службы сокращения, такие как goo.gl , tinyurl.com и bit.ly , могут генерировать URL-адреса, которые могут быть прочитаны человеком, хотя полученные строки длиннее, чем те, которые генерируются службой, оптимизированной по длине. Наконец, сайты сокращения URL-адресов предоставляют подробную информацию о кликах, которые получает ссылка, что может быть проще, чем настройка столь же мощного сервера аналитической системы, и в отличие от последнего, не требует доступа к серверу.
URL-адреса, закодированные в двумерных штрихкодах, таких как QR-код, часто укорачиваются с помощью сокращателя URL-адресов, чтобы уменьшить область печати кода или обеспечить печать с меньшей плотностью для повышения надежности сканирования.
Некоторые веб-сайты создают короткие ссылки, чтобы упростить обмен ссылками через мгновенные сообщения и сделать их отправку через SMS более дешевой. Это можно сделать онлайн, на веб-страницах сервиса сокращения URL; чтобы сделать это пакетно с помощью массовой загрузки с помощью таких инструментов, как импортер CSV или по запросу, может потребоваться использование API .
Несколько известных веб-сайтов создали собственные сервисы сокращения URL-адресов для собственного использования – например, Twitter с t.co, [3] Telegram с t.me, Google с g.co, [4] и GoDaddy с x.co. [5]
При сокращении URL каждый длинный URL-адрес ассоциируется с уникальным ключом , который является частью после его доменного имени верхнего уровня . Например, https://tinyurl.com/m3q2xt имеет ключ m3q2xt , эти ключи в большинстве случаев чувствительны к регистру, и использование неправильного регистра может привести к другому URL-адресу назначения. Не все перенаправления обрабатываются одинаково; инструкция перенаправления, отправленная браузеру, может содержать в своем заголовке коды статуса ответа HTTP, такие как 301 (перемещен навсегда), 302 (найден), 307 (временное перенаправление) или 308 (постоянное перенаправление).
Существует несколько методов реализации сокращения URL. Ключи могут быть сгенерированы в базе 36 , предполагая 26 букв и 10 цифр. В этом случае каждый символ в последовательности будет 0, 1, 2, ..., 9, a, b, c, ..., y, z . В качестве альтернативы, если заглавные и строчные буквы различаются, то каждый символ может представлять одну цифру в числе с базой 62 (26 + 26 + 10). Для формирования ключа можно создать хэш-функцию или сгенерировать случайное число , чтобы последовательность ключей была непредсказуемой. Или пользователи могут предлагать свои собственные пользовательские ключи. Например, https://example.com/product?ref=01652&type=shirt можно сократить до https://tinyurl.com/exampleshirt .
Не все схемы URI можно сократить по состоянию на 2011 год, хотя такие схемы URI, как http , https , ftp , ftps , mailto , mms , rtmp , rtmpt , ed2k , pop , imap , nntp , news , ldap , gopher , dict и dns, рассматриваются такими службами, как URL-сокращатели. Обычно URL-адреса data: и javascript: не поддерживаются по соображениям безопасности (для борьбы с атаками типа межсайтового скриптинга и перехвата сеанса ). Некоторые службы сокращения URL-адресов поддерживают пересылку URL-адресов mailto в качестве альтернативы подделке адресов , чтобы избежать нежелательного сбора веб-сканерами или ботами . Иногда это можно сделать с помощью коротких URL-адресов, защищенных CAPTCHA , но это не распространено. [6]
Создатели URL-сокращателей обычно регистрируют доменные имена с менее популярными или эзотерическими доменами верхнего уровня , чтобы получить короткий URL-адрес и броское имя, часто используя хаки доменов . Это приводит к регистрации различных URL-сокращателей во множестве разных стран, не оставляя никакой связи между страной, где был зарегистрирован домен, и самим URL-сокращателем или сокращенными ссылками. Использовались домены верхнего уровня таких стран, как Ливия ( .ly ), Самоа ( .ws ), Монголия ( .mn ), Малайзия ( .my ) и Лихтенштейн ( .li ), а также многих других. В некоторых случаях политические или культурные аспекты страны, отвечающей за домен верхнего уровня, могут стать проблемой для пользователей и владельцев, [7] но обычно это не так.
Службы могут регистрировать входящую статистику, которая может быть публично просмотрена другими лицами. [8]
Хотя многие поставщики утверждают, что срок действия их сокращенных URL-адресов не истекает в течение всего срока предоставления услуги, они могут принять решение о прекращении предоставления услуги в любой момент.
Постоянный URL не обязательно хорош. Существуют последствия для безопасности, а устаревшие короткие URL остаются в силе и могут распространяться долгое время после того, как они перестают указывать на релевантный или даже существующий пункт назначения. Иногда короткий URL полезен просто для того, чтобы предоставить кому-то по телефону одноразовый доступ или загрузку файла, и он больше не нужен через пару минут.
Некоторые поставщики предлагают истечение срока действия для сокращенных URL-адресов. Это может включать URL-адреса, срок действия которых истекает через определенное время, в определенную дату или после определенного количества использований. [ необходима цитата ]
В документе Microsoft Security Brief рекомендуется создавать краткосрочные URL-адреса, но это делается скорее из соображений безопасности, чем удобства. [9]
Ранней ссылкой является патент США 6957224, в котором описывается
...система, метод и компьютерный программный продукт для предоставления ссылок на удаленно расположенную информацию в сети удаленно подключенных компьютеров. Единый указатель ресурсов (URL) регистрируется на сервере. Сокращенная ссылка связана с зарегистрированным URL. Связанная сокращенная ссылка и URL регистрируются в базе данных реестра. Когда получен запрос на сокращенную ссылку, в базе данных реестра выполняется поиск связанного URL. Если обнаруживается, что сокращенная ссылка связана с URL, URL извлекается, в противном случае возвращается сообщение об ошибке. [10]
Патент был подан в сентябре 2000 года; хотя патент был выдан в 2005 году, заявки на патенты США публикуются в течение 18 месяцев с момента подачи.
Еще одно упоминание о сокращении URL-адресов относится к 2001 году. [11] Первый заметный сервис сокращения URL-адресов, TinyURL , был запущен в 2002 году. Его популярность повлияла на создание по меньшей мере 100 подобных веб-сайтов, [12] хотя большинство из них являются просто альтернативами доменов. Изначально Twitter автоматически переводил URL-адреса длиной более двадцати шести символов с помощью TinyURL, хотя в 2009 году он начал использовать bit.ly вместо этого [13] , а позже разработал собственный сервис сокращения URL-адресов, t.co.
14 августа 2009 года WordPress анонсировал сокращатель URL wp.me для использования при ссылке на любую запись в блоге WordPress.com. [14] В ноябре 2009 года сокращенные ссылки на bit.ly были просмотрены 2,1 миллиарда раз. [15] Примерно в то же время bit.ly и TinyURL были наиболее широко используемыми сервисами сокращения URL. [15]
Один из сервисов, tr.im, прекратил генерировать короткие URL-адреса в 2009 году, ссылаясь на отсутствие механизмов получения дохода для покрытия расходов и на использование Twitter по умолчанию сокращателя bit.ly , а также задаваясь вопросом, могут ли другие сервисы сокращения получать прибыль от сокращения URL-адресов в долгосрочной перспективе. [16] Он возобновил работу на некоторое время, [17] а затем закрылся.
Самые короткие возможные долгосрочные URL-адреса были сгенерированы NanoURL с декабря 2009 года примерно до 2011 года, связанные с доменом верхнего уровня .to (Тонга), в форме http://to./xxxx , где xxxx представляет собой последовательность случайных чисел и букв. [18]
14 декабря 2009 года Google анонсировала сервис под названием Google URL Shortener на goo.gl, который изначально был доступен только для использования через продукты Google (такие как Google Toolbar и FeedBurner ) [19] и расширения для Google Chrome . [20] 21 декабря 2009 года Google представил YouTube URL Shortener, youtu.be. [21] С сентября 2010 года Google URL Shortener стал доступен через прямой интерфейс. Сервис goo.gl предоставляет аналитические данные и генератор QR-кодов. [ необходима цитата ] 30 марта 2018 года Google объявила, что «отказывается от поддержки goo.gl в ближайшие недели и заменяет его на Firebase Dynamic Links » (хотя существующие ссылки goo.gl продолжат функционировать). [22] 18 июля 2024 года Google объявил, что существующие URL-адреса Google URL Shortener прекратят работу с 25 августа 2025 года. Google добавит промежуточную страницу, чтобы предупредить пользователей об этом, начиная с 23 августа 2024 года. [23]
Главное преимущество короткой ссылки — ее краткость. В зависимости от используемой транскрипции ее можно легче передать и ввести без ошибок. В некоторой степени она может скрыть назначение URL; это может быть выгодно, невыгодно или неактуально.
Короткие URL-адреса часто обходят предполагаемое использование доменов верхнего уровня для указания страны происхождения; регистрация домена во многих странах требует доказательства физического присутствия в этой стране, хотя перенаправленный URL-адрес не дает такой гарантии.
Сокращение URL может использоваться спамерами или для незаконной интернет-деятельности. В результате многие были удалены из онлайн-реестров или закрыты веб-хостингами или интернет-провайдерами.
По данным Tonic Corporation, регистратора доменов .to, компания «очень серьезно относится к защите доменов от спама» и может удалить сервисы сокращения URL-адресов из своего реестра, если сервис будет использоваться не по назначению. [24]
Кроме того, «u.nu» сделал следующее заявление после завершения операций:
Последней каплей стало 3 сентября 2010 года, когда сервер был отключен без предупреждения нашим хостинг-провайдером в ответ на сообщения о ряде ссылок на сайты с детской порнографией. Отключение сервера вызвало у нас серьезные проблемы, и, честно говоря, уровень и характер злоупотреблений стали довольно деморализующими. Учитывая выбор между тратой времени и денег на поиск другого дома или просто отказом, последнее победило. [25]
Группа обсуждения сокращений URL-адресов Google часто включала сообщения от разочарованных пользователей, сообщающих о том, что определенные сокращенные URL-адреса были отключены после того, как они были отмечены как спам. [26]
Исследование, проведенное в мае 2012 года, показало, что 61% сервисов сокращения URL-адресов закрылись (614 из 1002). [27] Наиболее распространенной причиной было названо злоупотребление со стороны спамеров.
Удобство, предлагаемое сокращением URL, также создает потенциальные проблемы, которые привели к критике использования этих сервисов. Короткие URL, например, будут подвержены linkrot , если сервис сокращения перестанет работать; все URL, связанные с сервисом, станут неработоспособными. Законно, что многие существующие сервисы сокращения URL могут не иметь устойчивой бизнес-модели в долгосрочной перспективе. [15] В конце 2009 года Архив Интернета начал проекты "301 Works" [28] совместно с двадцатью сотрудничающими компаниями (первоначально), чьи короткие URL будут сохранены проектом. [15]
Сокращенные интернет-ссылки обычно используют домены ccTLD и поэтому часто находятся под юрисдикцией страны, отличной от страны, где находится поставщик услуг. Например, Ливия использовала свой контроль над доменом .ly в октябре 2010 года, чтобы закрыть vb.ly за нарушение ливийских законов о порнографии. Неспособность предсказать такие проблемы с URL-сокращателями и инвестициями в компании по сокращению URL-адресов может отражать отсутствие должной осмотрительности . [29]
Некоторые веб-сайты запрещают публикацию коротких перенаправленных URL-адресов.
В апреле 2009 года сообщалось о блокировке TinyURL в Саудовской Аравии . [30] Yahoo! Answers блокирует публикации, содержащие TinyURL, [ требуется ссылка ] , а Wikipedia не принимает ссылки от любых сервисов сокращения URL в своих статьях. [31] Сообщество Reddit настоятельно не рекомендует — а в некоторых сабреддитах и вовсе запрещает — сервисы сокращения URL для отправки ссылок, поскольку они скрывают исходное доменное имя и то, была ли ссылка ранее отправлена на Reddit, а законных причин использовать сервисы сокращения ссылок для отправки ссылок на Reddit мало или вообще нет. [32]
Короткий URL-адрес скрывает целевой адрес и может использоваться для перенаправления на неожиданный сайт. Примерами этого являются « рикроллинг » и перенаправление на шокирующие сайты или на партнерские сайты. Короткий URL-адрес может позволить получить доступ к заблокированным URL-адресам, обходя списки блокировки сайтов ; это облегчает перенаправление пользователя на заблокированные мошеннические страницы или страницы, содержащие вредоносное ПО или XSS-атаки. TinyURL пытается отключить перенаправление ссылок, связанных со спамом. [33] Однако ZoneAlarm предупредил своих пользователей: «TinyURL может быть небезопасным. Известно, что этот веб-сайт распространяет шпионское ПО». TinyURL решил эту проблему, предложив возможность просмотра назначения ссылки перед использованием сокращенного URL-адреса. Эта возможность устанавливается в браузере через веб-сайт TinyURL и требует использования файлов cookie. [34] Предварительный просмотр назначения также можно получить, добавив слово «preview» к URL-адресу TinyURL; например, пункт назначения https://tinyurl.com/8kmfp раскрывается при вводе https://preview.tinyurl.com/8kmfp . Другие службы сокращения URL предоставляют похожее отображение пункта назначения. [35] Специалисты по безопасности предлагают пользователям проверять пункт назначения короткого URL перед доступом к нему, [36] после случая, когда служба сокращения cli.gs была скомпрометирована, что подвергло миллионы пользователей неопределенности безопасности. [37] Существует несколько веб-приложений, которые могут отображать целевой URL сокращенного URL. [ необходима цитата ]
Некоторые сервисы сокращения URL-адресов фильтруют свои ссылки через сервисы проверки плохих сайтов, такие как Google Safe Browsing . Однако многие сайты, которые принимают контент, отправленный пользователями, блокируют ссылки на определенные домены, чтобы сократить количество спама, и по этой причине известные сервисы перенаправления URL-адресов часто сами добавляются в списки блокировки спама.
Другая проблема конфиденциальности заключается в том, что формат сокращенных URL многих сервисов достаточно мал, чтобы быть уязвимым для поиска методом подбора. Многие люди используют сокращенные URL, когда делятся ссылками на частный контент, и на самом деле многие веб-сервисы, такие как Google Maps, предлагают автоматическую генерацию сокращенных ссылок для маршрутов, которые раскрывают личную информацию, такую как домашние адреса и конфиденциальные пункты назначения, такие как «клиники для лечения определенных заболеваний (включая рак и психические заболевания), центры лечения наркозависимости, поставщики услуг абортов, исправительные и исправительные учреждения для несовершеннолетних, кредиторы до зарплаты и ПТС, джентльменские клубы и т. д.» [38] [39]
Короткие URL-адреса, хотя и упрощают доступ к тому, что в противном случае могло бы быть очень длинным URL-адресом или пользовательским пространством на сервере ISP, добавляют дополнительный уровень сложности к процессу получения веб-страниц. Каждый доступ требует большего количества запросов (по крайней мере, один дополнительный поиск DNS, хотя он может быть кэширован, и один дополнительный запрос HTTP/HTTPS), тем самым увеличивая задержку, время, необходимое для доступа к странице, а также риск сбоя, поскольку служба сокращения может стать недоступной. Другим эксплуатационным ограничением служб сокращения URL-адресов является то, что браузеры не пересылают тела POST при обнаружении перенаправления. Это можно преодолеть, сделав службу обратным прокси-сервером или с помощью сложных схем, включающих файлы cookie и буферизованные тела POST, но такие методы представляют проблемы безопасности и масштабирования и поэтому не используются в экстрасетях или службах масштаба Интернета. [ оригинальное исследование? ]
Для перенаправления и сокращения ссылок также доступны скрипты с открытым исходным кодом и коммерческие скрипты, обычно написанные на PHP в виде веб-приложения или плагина для одного из популярных приложений, таких как WordPress . Такие скрипты избегают многих проблем с сервисами сокращения, сохраняют доменное имя как часть сокращенной ссылки и могут быть сделаны приватными.
URL-адреса, записанные в указанную коллекцию Cloud Firestore (использует Bitly).