Скорочення URL

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Скорочення URL на Meta-Wiki.

Скорочення URL-адрес — це техніка у Всесвітній павутині, при якій уніфікований локатор ресурсів (URL) може бути значно скороченим і все одно спрямовуватиме на потрібну сторінку. Це досягається за допомогою переспрямування, яке посилається на вебсторінку з довгою URL-адресою.

Наприклад, URL-адресу

https://example.com/assets/category_B/subcategory_C/Foo/

можна скоротити до

https://example.com/Foo

URL-адресу

https://en.wikipedia.org/wiki/URL_shortening

можна скоротити до

https://w.wiki/U

Зазвичай доменне ім'я перенаправлення значно коротше за оригінальне. Зручна URL-адреса може знадобитися для технологій обміну повідомленнями, які обмежують кількість символів у повідомленні (наприклад, SMS), для зменшення кількості набору тексту, якщо читач копіює URL-адресу з друкованого джерела, щоб полегшити людині запам'ятати або з метою створення постійного посилання [Архівовано 2 березня 2000 у Wayback Machine.]. У листопаді 2009 року скороченими посиланнями сервісу Bitly скористалися до 2,1 мільярда разів.[1]

Призначення[ред. | ред. код]

Існує кілька причин використовувати скорочення URL-адрес. Часто оригінальні посилання можуть бути естетично неприємними. Багато веброзробників додають описові атрибути в URL-адресі для впорядкування ієрархій даних, структур команд, шляхів транзакцій або інформації про сеанс. Це може призвести до URL-адрес, що мають сотні символів і містять складні шаблони. Такі URL-адреси важко запам'ятовувати, друкувати або розповсюджувати. Таким чином, короткі URL-адреси можуть бути більш зручними для вебсайтів або друкованих видань (наприклад, для друкованого журналу чи книги), останнім часто потрібно розбивати URL-адресу на кілька рядків для того щоб надрукувати.

У Twitter та деяких інших сервісах обміну миттєвими повідомленнями обмежена кількість символів, яку може містити повідомлення. Однак, Twitter зараз скорочує посилання автоматично, використовуючи власну послугу скорочення URL-адрес,t.co, тому немає необхідності використовувати окрему службу скорочення URL-адрес, лише щоб скоротити URL-адреси в твіті. Але в інших додатках використання скорочувача URL-адрес може дозволити посилання на вебсторінки, які в іншому випадку порушували б це обмеження. Ці послуги можна отримати на таких сервісах як goo.gl,Tiny URL та bit.ly, які можуть генерувати компактні URL-адреси що не складно запам'ятати людині. До того ж, сайти, що скорочують URL-адреси, надають детальну інформацію про кліки, які отримує посилання, що безумовно простіше, ніж налаштування настільки ж потужного механізму аналітики на стороні сервера, і, на відміну від останнього, не вимагає доступу до сервера.

URL-адреси, закодовані двовимірними штрих-кодами, такими як QR-код, часто скорочуються, щоб зменшити площу друку коду, або дозволяють друкувати з меншою щільністю для підвищення надійності сканування.

Реєстрація короткої URL-адреси[ред. | ред. код]

Деякі вебсайти створюють короткі посилання, щоб полегшити обмін посиланнями за допомогою миттєвих повідомлень та здешевити надсилання їх за допомогою SMS. Це можна зробити в Інтернеті, на вебсторінках служби скорочення URL; щоб зробити це пакетно або на вимогу, може знадобитися використання API.

Кілька відомих вебсайтів створили власні служби скорочення URL-адрес для власного використання – наприклад, Twitter з t.co, Google з g.co та GoDaddy з x.co.

Засоби[ред. | ред. код]

При скороченні URL-адреси кожна довга URL-адреса пов'язана з унікальним ключем, який є частиною після доменного імені верхнього рівня. Наприклад,https://tinyurl.com/m3q2xt має ключ m3q2xt. Не всі переспрямування трактуються однаково; інструкція щодо переспрямування, надіслана браузеру, може містити у своєму заголовку статус 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. Як правило,data: і javascript: URL-адреси не підтримуються з міркувань безпеки (для боротьби з атаками, такими як міжсайтовий скриптинг та TCP hijacking). Деякі служби скорочення URL-адрес підтримують пересилання mailto URL-адреси, як альтернатива зміні адреси, щоб уникнути небажаного сканування вебсканерами або ботами. Іноді це можна зробити, використовуючи короткі URL-адреси, захищені CAPTCHA, але це не є загальною практикою.[2]

Надавачі послуг скорочення URL-адрес зазвичай реєструють доменні імена з менш популярними або езотеричними доменами верхнього рівня, щоб отримати коротку URL-адресу та привабливе ім'я, часто використовують хакерські домени. Це призводить до реєстрації різних скорочувачів URL-адрес у безлічі різних країн, не залишаючи зв'язку між країною, де зареєстровано домен, та самим скорочувачем URL-адрес або скороченими посиланнями. Використовувались домени верхнього рівня таких країн, як Лівія (.ly), Самоа (.ws), Монголія (.mn), Малайзія (.my) та Ліхтенштейн (.li), а також багато інших. У деяких випадках політичні чи культурні аспекти країни, яка відповідає за домен верхнього рівня, можуть стати проблемою для користувачів та власників,[3] але це не часті випадки.

Сервіси можуть збирати статистичні дані, які інші можуть переглядати публічно.[4]

Термін дії та обмежені в часі послуги[ред. | ред. код]

Багато постачальників скорочених URL-адрес стверджують, що термін їх дії «ніколи не закінчується» (знизу завжди дрібним шрифтом додають: до тих пір, поки ми не вирішимо припинити цю послугу)

Постійна скорочена URL-адреса — це не обов'язково хороша річ. Існують наслідки для безпеки, і застарілі короткі URL-адреси залишаються в наявності і можуть розповсюджуватися ще довго після того, як вони перестануть вказувати на відповідний ресурс. Іноді коротка URL-адреса корисна просто для того, щоб надати комусь ідентифікатор для одноразового доступу або завантаження файлу, і вона більше не буде потрібна.

Деякі сервіси пропонують обмежену в часі послугу, яка закінчується через певний період. До послуги входить звичайна, коротка URL-адреса, термін дії якої становить від 5 хвилин до 24 годин або створення URL-адреси, термін дії якого закінчується у визначену дату або через певний період, створення дуже короткострокової URL-адреси лише 5 символів для набору тексту в смартфоні, обмеження власником загальної кількості використання. Microsoft рекомендує створювати короткочасні URL-адреси, але з виходячи тільки з міркувань безпеки, а незаради зручності.[5]

Історія[ред. | ред. код]

Початком став патент США 6957224 [Архівовано 21 січня 2019 у Wayback Machine.], де описано: «… система, метод та комп'ютерний програмний продукт для надання посилань на віддалено розташовану інформацію в мережі віддалено підключених комп'ютерів. На сервері реєструється єдиний локатор ресурсів (URL). Скорочене посилання пов'язане із зареєстрованою URL-адресою. Пов'язане скорочене посилання та URL-адреса реєструються в базі даних реєстру. Коли надходить запит на скорочене посилання, у базі даних реєстру здійснюється пошук пов'язаної URL-адреси. Якщо виявляється, що скорочене посилання пов'язане з URL-адресою, URL-адреса отримується, інакше повертається повідомлення про помилку.»[6]

Заявку на отримання патенту було подано у вересні 2000 року.

Перший помітний сервіс скорочення URL-адрес, TinyURL, був запущений в 2002 році. Його популярність вплинула на створення щонайменше 100 подібних вебсайтів[7] хоча більшість із них були просто альтернативами доменів. Спочатку Twitter автоматично перекладав URL-адреси довжиною більше двадцяти шести символів за допомогою TinyURL, хоча замість цього він почав використовувати bit.ly у 2009 році[8] а пізніше розробив власну службу скорочення URL-адрес, t.co.

14 серпня 2009 року WordPress впровадив скорочувач URL-адрес wp.me для використання при посиланні на будь-яку публікацію в блозі WordPress.com.[9] У листопаді 2009 року скорочені посилання на bit.ly отримали доступ 2,1 мільярда разів.[10] Приблизно тоді bit.ly та TinyURL були найпоширенішими послугами скорочення URL-адрес.[10]

Одна послуга, tr, im, припинила генерувати короткі URL-адреси в 2009 році, звинувачуючи у відсутності механізмів отримання доходу для покриття витрат та використанні скорочувача bit.ly за замовчуванням у Twitter, і ставлячи під сумнів, чи можуть бути корисними інші служби скорочення від скорочення URL-адрес у більш тривалий термін. Він відновився на деякий час, але потім закрився.

Найкоротші можливі довгострокові URL-адреси були створені NanoURL з грудня 2009 року до приблизно 2011 року, пов'язані з доменом верхнього рівня .to (Тонга), у формі http://to./xxxx, де xxxx представляє послідовність випадкових чисел і букв.[11]

14 грудня 2009 року Google відкрив сервіс під назвою Google URL Shortener на goo.gl, який спочатку був доступний лише для використання через продукти Google (такі як Google Toolbar і FeedBurner)[12] та розширення для Google Chrome.[13] 21 грудня 2009 року Google представив YouTube URL Shortener, youtu.be.[14] З вересня 2010 року Google URL Shortener став доступним через прямий інтерфейс. Сервіс goo.gl надає аналітичні дані та генератор QR-коду.  30 березня 2018 року Google оголосив, що "відмовляється від підтримки goo.gl протягом найближчих тижнів і замінює її на динамічні посилання Firebase " (хоча існуючі посилання goo.gl продовжуватимуть функціонувати).[15]

Переваги[ред. | ред. код]

Головною перевагою короткого посилання є те, що воно, насправді, коротке, виглядає акуратно, і його легко обробляти та вводити без помилок. Коротке посилання, яке має кінцевий термін дії або може бути припинено, має певні переваги у безпеці.

Недоліки[ред. | ред. код]

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

Зловживання[ред. | ред. код]

Скорочення URL-адрес може використовуватися спамерами або для незаконної діяльності в Інтернеті. В результаті багато таких сервісів було вилучено з реєстрів або закрито постачальниками послуг Інтернету.

За даними Tonic Corporation, реєстр доменів.to «дуже серйозно ставиться до спаму» і може видалити служби скорочення URL-адрес зі свого реєстру, якщо службою зловживають.[16]

Група обговорення Google для скорочення URL-адрес часто містила повідомлення розчарованих користувачів, які повідомляють, що певні скорочені URL-адреси були вимкнені після того, як вони були визначені як спам.[17]

Дослідження, проведене в травні 2012 року, показало, що 61 % сервісів скорочення URL-адрес було вимкнено (614 із 1002).[18] Найбільш поширеною причиною було зловживання з боку спамерів.

Мертві посилання[ред. | ред. код]

Зручність, яку пропонує скорочення URL-адрес, також створює потенційні проблеми, що призвели до критики щодо використання цих послуг. Наприклад, короткі URL-адреси припиняють працювати, якщо сам сервіс скорочення перестане працювати; всі URL-адреси, пов'язані з послугою, будуть пошкоджені. Викликає законне занепокоєння те, що багато існуючих служб скорочення URL-адрес можуть не мати стійкої бізнес-моделі в довгостроковій перспективі.[10] Наприкінці 2009 року Інтернет-архів розпочав проекти «301 Works»[19] разом із двадцятьма компаніями, чиї короткі URL-адреси будуть збережені проектом.[10]

Транснаціональне право[ред. | ред. код]

Скорочені Інтернет-посилання, як правило, використовують домени ccTLD, і тому вони часто знаходяться під юрисдикцією країни де знаходиться постачальник послуг. Наприклад, Лівія правом здійснювати контроль над доменом.ly у жовтні 2010 року, щоб закрити vb.ly за порушення лівійських законів про порнографію. Неможливість передбачити такі проблеми із сервісами скорочення URL-адрес та інвестиціями в компанії, що скорочують URL-адреси, може відображати відсутність «забезпечення належної сумлінності».[20]

Блокування та заборона[ред. | ред. код]

Деякі вебсайти не дозволяють розміщувати короткі переспрямовані URL-адреси.

У квітні 2009 року повідомлялося, що TinyURL було заблоковано в Саудівській Аравії.[21] Yahoo! Відповіді блокує проводки, які містять TinyURL, а Вікіпедія не приймає посилання від будь-яких служб скорочення URL-адрес у своїх статтях.[22] Спільнота Reddit наполегливо не рекомендує – а в деяких сабредітах — прямо забороняє використання скорочених URL-адрес для надсилання вебадрес, оскільки вони маскують ім'я домену джерела та те, чи посилання вже було надіслано до Reddit.[23]

Реклама[ред. | ред. код]

Такі сайти, як Adf.ly, використовують ряд рекламних прийомів, включаючи проміжну рекламу, для отримання доходу.

Конфіденційність та безпека[ред. | ред. код]

Коротка URL-адреса приховує цільову адресу і може використовуватися для переспрямування на несподіваний сайт. Прикладами цього є " rickrolling " та перенаправлення на сайти з небажаним контентом або на афілійовані вебсайти. Коротка URL-адреса може дозволити доступ до URL-адрес із чорного списку; це полегшує переадресацію користувача на сторінки шахрайства чи сторінки, що містять шкідливі програми. TinyURL намагається вимкнути переспрямування посилань, пов'язаних зі спамом.[24] Однак ZoneAlarm попередив своїх користувачів: "TinyURL може бути небезпечним. Через цей сервіс може поштрюватися шпигунське програмне забезпечення ". TinyURL вирішив цю проблему, запропонувавши можливість переглянути пункт призначення посилання перед використанням скороченої URL-адреси. Ця можливість встановлюється у браузері через вебсайт TinyURL і вимагає використання файлів cookie. Попередній перегляд посилання також можна отримати, додавши «попередній перегляд (preview)» до URL-адреси TinyURL; наприклад, пункт призначенняhttps://tinyurl.com/8kmfp відкривається шляхом введення https://preview.tinyurl.com/8kmfp. Інші служби скорочення URL-адрес також забезпечують подібне відображення посилань.[25] Спеціалісти з безпеки пропонують користувачам перевіряти короткі URL-адреси перед тим, як отримати до неї доступ, після випадку, коли скорочення служби cli.gs було скомпрометовано, піддавши мільйони користувачів загрозам безпеки. Існує кілька вебпрограм, які можуть відображати цільову URL-адресу скороченої URL-адреси.

Деякі служби скорочення URL-адрес фільтрують свої посилання за допомогою служб скринінгу сайтів, таких як безпечний перегляд Google. Багато вебсайтів, на які надходить введений користувачем вміст, блокують посилання на певні домени, щоб зменшити кількість спаму, і з цієї причини відомі служби перенаправлення URL-адрес часто самі додаються до чорних списків спаму.

Ще однією проблемою конфіденційності є те, що скорочений формат URL-адрес багатьох служб є досить малим, щоб він був уразливим для грубого пошуку. Багато людей використовують скорочені URL-адрес, коли діляться посиланнями на приватний вміст, і насправді багато вебсервісів, наприклад Google Maps, пропонують автоматичну генерацію скорочених посилань для маршрутів руху, які розкривають особисту інформацію, наприклад, домашні адреси та делікатні пункти призначення, такі як "клініки для конкретних захворювань (у тому числі онкологічних та психічних захворювань), центри лікування наркоманії, послуги з переривання вагітності, установи виправлення та утримання під вартою неповнолітніх, джентльменські клуби тощо ".[26]

Додатковий рівень складності[ред. | ред. код]

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

Сервіси[ред. | ред. код]

Сайт Компанія Тип Спеціальна URL-адреса Коментарі
bit.ly Bitly публічний так
goo.gl Google корпоративний замінено на FDL (використовує Bitly[27])
t.co Twitter корпоративний
youtu.be Youtube(Google) корпоративний
ow.ly Hootsuite Media публічний так Тепер всередині приладової панелі Hootsuite
w.wiki Фонд Wikimedia корпоративний Користувачі можуть генерувати посилання лише на проекти Фонду Вікімедіа.

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

Примітки[ред. | ред. код]

  1. – New York Times, 14 December 2009 [Архівовано 10 липня 2011 у Wayback Machine.]
  2. Spammers Storm URL Shortening Services. CertMag. 17 серпня 2009. Архів оригіналу за 1 November 2019.
  3. http://hootsuite.com. #HootSuite Offers Choice of URL Shorteners ~ From Libya to Liechtenstein – HootSuite Social Media Management. Blog.hootsuite.com. Архів оригіналу за 14 June 2013. Процитовано 20 квітня 2013.
  4. Chapman, Stephen (28 серпня 2012). How to spy on campaigns of competitors who use URL shorteners. ZDNet. Архів оригіналу за 2 September 2012. Процитовано 10 вересня 2012.
  5. Sullivan, Bryan (March 2009). Protect Your Site With URL Rewriting - A Stateless Approach: Automatically Expiring URLs. Security Briefs. Microsoft MSDN Magazine. Архів оригіналу за 17 July 2013. Процитовано 1 серпня 2013.
  6. US patent 6957224, Nimrod Megiddo and Kevin S. McCurley; assigned to IBM corp., "Efficient retrieval of uniform resource locators", issued 2005-10-18 
  7. «URL Shortening Services» [Архівовано 2013-04-08 у Wayback Machine.] shortenurl — Supported URL shortening services
  8. Wortham, Jenna (7 May 2009) «Bit.ly Eclipses TinyURL on Twitter» [Архівовано 2013-05-01 у Wayback Machine.] Bits (blog at The New York Times). Retrieved 1 January 2011.
  9. «WP.me — Shorten Your Links» [Архівовано 18 серпня 2009 у Wayback Machine.] WordPress. 14 August 2009.
  10. а б в г Ahmed, Murad (7 December 2009). «New Project in Scramble To Save Vanishing Internet Links — The Internet Archive Is Fighting To Preserve Shortened Web Links Created by Free Online Services That May Be Running Out of Money» [Архівовано 2013-12-17 у Wayback Machine.]. The Times. Retrieved 1 January 2011.
  11. Michlick, Frank. .TO ccTLD Becomes Worlds Shortest URL Shortener. Domainnamenews.com. Архів оригіналу за 3 May 2013. Процитовано 20 квітня 2013.
  12. Muthusrinivasan, Muthu (14 грудня 2009). Making URLs Shorter for Google Toolbar and FeedBurner. Googleblog.blogspot.com. Архів оригіналу за 31 May 2013. Процитовано 20 квітня 2013.
  13. goo.gl "URL Shortener — Google Chrome Extension Gallery". Архів оригіналу за 12 April 2011. Процитовано 20 квітня 2013.
  14. Official YouTube Blog: Make Way for youtu.be Links. Official YouTube Blog. Архів оригіналу за 25 December 2009. Процитовано 24 грудня 2009.
  15. Hermanto, Michael. Transitioning Google URL Shortener to Firebase Dynamic Links. Google Developers. Архів оригіналу за 30 June 2018. Процитовано 1 квітня 2018.
  16. Tonic Corporation Frequently asked questions. Tonic.to. Архів оригіналу за 19 July 2013. Процитовано 20 квітня 2013.
  17. Google Discussiegroepen. Архів оригіналу за 8 July 2019. Процитовано 20 квітня 2013.
  18. Ultimate list of URL shorteners. Yi.tl. 23 травня 2012. Архів оригіналу за 18 April 2013. Процитовано 20 квітня 2013.
  19. 301Works.org : Free Software : Download & Streaming : Internet Archive. archive.org. Архів оригіналу за 1 October 2016. Процитовано 19 серпня 2016.
  20. Staff writer (14 жовтня 2010). Law, Politics and Internet Addresses — Tough.ly/Treated — Shortened Web Links Are Convenient, But They Come at a Price. The Economist. Архів оригіналу за 17 October 2010. Процитовано 1 січня 2010.
  21. TinyURL Blocked in Saudi Arabia. Committee to Protect Bloggers. 16 квітня 2009. Архів оригіналу за 19 April 2009.
  22. Spam blacklist. meta.wikimedia.org. Meta, discussion about Wikimedia projects. Архів оригіналу за 20 March 2017. Процитовано 4 листопада 2016.
  23. Rediquette. Архів оригіналу за 8 February 2017. Процитовано 9 лютого 2017.
  24. Krebs, Brian (13 June 2006). «Spam Spotted Using TinyURL». Security Fixes (blog at The Washington Post). Retrieved 1 January 2011.
  25. the JoshMeister on Security: How to Preview Shortened URLs (TinyURL, bit.ly, is.gd, and more). Security.thejoshmeister.com. 11 квітня 2009. Архів оригіналу за 25 March 2014. Процитовано 20 квітня 2013.
  26. Shmatikov, Vitaly, "Gone In Six Characters: Short URLs Considered Harmful for Cloud Services." Blog entry dated April 14, 2016; retrieved April 26, 2016. Архів оригіналу за 23 April 2016. Процитовано 26 квітня 2016.
  27. Firebase Extensions | Shorten URLs. Firebase. Архів оригіналу за 25 вересня 2020. Процитовано 8 вересня 2020. Shortens URLs written to a specified Cloud Firestore collection (uses Bitly).

Посилання[ред. | ред. код]