Українська

Інструменти розробника · URL енкодер & декодер

З RFC 1738 до URL Стандарт: які правила, що процентували

· Підземелля

Опубліковано ToolAcre · Редакція журналу

виворітна обробка Рф-істор веб-стандарти

Еволюція URL стандарти акцiйностiв RFC 1738 через RFC 3986 до WHATWG URL Стандарти
Головна ToolAcre векторна ілюстрація

Правила оформлення символів у URL-адресах повторили кілька разів 1994. Цей запис слід RFC 1738, RFC 2396, RFC 3986 і WHATWG URL Стандарт і пояснює, що змінено кожен раз.

З RFC 1738 до URL Стандарт — як правило, що існуючі правила

Tilde (~) визначає, як зміни правил кодування по генераціях стандартів та розгортань. RFC 1738 (1994) обов'язкові %7E скрізь; RFC 2396 (1998) перемістили нахил для незбереження, що дозволяє некодити. RFC 3986 (2005) підтверджено незбережений статус. Старі URL-адреси %7E залишатися дійсним; нові конструктори випускають ~. Evolution відображає уроки розгортання, як веб зрілих і інфраструктурних стандартизованих. RFC 1738 був консервативним, оскільки ранньою інфраструктурою був гетерогенний і різноманітний.

RFC 1738 коди 1994 поведінка браузера. Розгортання стандартизовані на UTF-8; обмеження довели непотрібні. Надалі стандарти розслабленого характеру обмеження. RFC 3986 забезпечує безпечне декодування не збережених символів.

RFC 1738 (1994): «небезпечні» персонажі і перші правила розжарювання — що було визнано небезпечним і чому

RFC 1738 визначені «небезпечні» символи, як і ті, хто згубився з URI Синтаксис (космічна, сіточка), історично використовується в протоколах (контролюючі символи), або які системи не можуть безпечно передавати. Консервований список відсотків-кодований набагато більше, ніж необхідний для сучасного інтернету. Багато ранніх систем RFC; згодні їх поведінку. Контрольні персонажі були дійсно небезпечними в протоколах; проблеми передачі для HTTP читання клієнтів з командних ліній. Сучасні системи керують цими кейсами більш витончено через явне кодування.

Тестування RFC 1738 розкриває які старі системи очікувані. Кодування персонажа з 1990-х URL специфікація та порівняння з сучасними RFC 3986. Відмінності показують, що було спокійно. Незбережений набір розширився з часом. Хайфен, період, занурення завжди були безпечними. Tilde необхідний RFC 2396 бути безпечним. Консервативний підхід означена сумісність. Старі URL-адреси побудовані під RFC 1738 правила залишаються дійсними сьогодні. Нормалізація RFC 3986 секція 6 дозволяє зашифрувати необов'язкові дані, які не захищені.

RFC 2396 (1998) — замкнений універсальний синтаксис, а також реабілітаційований тильд

RFC 2396 (1998) чіткий характер встановлює більш суворо, ніж RFC 1738Зарезервовані символи URI структура не збережених як літрових даних. Незбережені розширені в тому числі гіфен, період, underscore, tilde. Визначено загальний URI Синтаксис відокремлений від схемо-специфічних правил. RFC 2396 введена відмінність ген-делімів (: /, ?, #, [, ], @) і суб-delims (!, $, &, ', (, ), *, +, , ;, =). Наміння clarifies зарезервовані символи діляться на дві групи з різними структурними ролями.

RFC 2396 введена нормалізаційна настанова, яка проценти закодовані символи можуть декодувати без зміни значення. Незбережений характер декодування нормалізує. Зашифровані палички кодування символів. RFC 3986 спрощене позначення далі. Стандарти підтримують зворотну сумісність.

RFC 3986 (2005) — ! * ' ( ) перейти до суб-делімів, іменованих ген-делімів, а керівництво нормалізацією прибуває

RFC 3986 (2005) - сучасний стандарт довідки процентів. Зареєструватися/unreserved відмінність, але спрощене позначення та додано нормалізацію. Тільде перемістили неоднорідно незбережені. Стандартний кларатифікований відсотково незбережені символи можуть декодувати без зміни значення. RFC 3986 секція 3 Опис URI синтаксису з прецизією. Розсилка 2 визначає категорії символів. Розсилка 6 визначає формальні правила синтактичної нормалізації. Нормалізована нормалізація на основі порівняння вважає, що URIs ідентична, якщо нормалізований відповідність форм. Видалення зубного сегмента з шляхів нормалізує без зміни значення.

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

Про нас WHATWG URL Стандарт: придбання того, що веб-переглядачі насправді отримують — набори кодів, спеціальні схеми та толерантність до помилок

WHATWG URL Стандарти2016– Представництво) з’явився з досвіду браузера з URL-адресами RFC 3986 відмінно. Браузери стикаються з некодованими просторами, змішаними кодуваннями, quirks. WHATWG описувати реальне оформлення веб-переглядача, не теоретична граматика. У реальному часі браузери були розроблені практичні правила для перемішування просторів, обробки втечуваних символів, відновлення від зміщеного введення. RFC 3986 прибули 2005 і визначена формальна граматика, але браузери на практиці вже трохи дивилися.

WHATWG визначає дев’ять комплектів кодів з контекстними правилами. Простір на шляху стає %20; slash in userinfo стає %2F. Браузер застосовує вузькі стандарти для веб. RFC 3986 забезпечує базову лінію; WHATWG будувати на ньому.

Приклад роботи: один URL з нахилом, простором і не-ASCII характер — як кожне покоління правил зашифровано

Міжнародні домени використовують кодування punycode (München стає xn-mnchen-3ya). Шляхи і запити все ще використовують проценти. Доменна частина використовує punycode; шлях і запас порції, які використовують %-encoding. Шари не змішують або заважають.

IDNA (Міжнародні доменні імена в додатках) вирішує проблему ім’я користувача. Коди кодування не-ASCII Увійти ASCII для DNS сумісність. Ксн- префікс сигнали punycode. Алгоритм є детерміналістичною: münchen завжди стає xn-mnchen-3ya. Не-ASCII символи повинні конвертувати до DNS дозвіл. Непрозора обробка не працює для хостів через DNS обмеження та обмеження етикетки. Кожен підхід вирішує проблему правильно. Стандарти еволюціонуються окремо з хороших причин.

Що це не обкладинка — IRIs та інтернаціоновані доменні імена, які мають свою історію

Вибір стандартів залежить від контексту. Створення URL-адрес для браузерів? Підписатися RFC 3986Застосувати браузери WHATWGСтарші системи? Тестові впровадження. Розуміння еволюції запобігає згубленню.

Сучасні будівельники повинні слідувати RFC 3986 або WHATWG контекстно. Старі та нові URL-адреси, які вимагають ретельного мислення сумісності. URL код товару: RFC 3986 по всій, пропонуючи фіксовану посилання від поведінки браузера. WHATWG додає комплекти кодування компонентів за межами RFC основи. Знаючи те, що змінено, коли допомагає зрозуміти, чому системи незгодні. Тестування URL з обох норм розкриває які стандартні елементи керування у Вашому середовищі. Обидва стандарти правильні.

Ведуться: дізнатися, яким чином кодуватиметься наступним чином: URL енкодер & декодер дає вам RFC 3986 поведінка як фіксована точка посилання

RFC 3986 Нормалізація дозволяє декодувати необов'язково відсотків, які не зашифровані символи безпечно. %41 Нормативно-правові акти: %2F ніколи не декодувати; зміна значення розривів структури. Стандарти, що підтримують зворотну сумісність. Виправлення неможливості по всьому світу. Стандарти книг не реставрують сайт. Зміна рішень кодування порушує мільярди наявних систем одночасно.

Відсоткова обробка три десятиліття ретельної еволюції: від RFC 1738 через RFC 2396 і RFC 3986 до сучасного WHATWG URL Стандарт. Сучасний код слідувати RFC 3986 базова лінія. Старі URL-адреси з раніше кодуванням залишаються дійсними. Тестування круглих планів забезпечує правильність і сумісність.