Кодирование / декодирование URL
Процентное кодирование и декодирование URL и параметров запроса — в режимах encodeURIComponent и encodeURI.
Что это такое
Пробелы, китайские иероглифы и символы не могут безопасно жить внутри URL, поэтому они заменяются на процент и два hex-байта: пробел становится %20, 中 — %E4%B8%AD. Есть два варианта: encodeURIComponent кодирует всё, что имеет особое значение (для значений параметров), а encodeURI сохраняет структуру ссылки и кодирует только по-настоящему недопустимые символы. Здесь доступны оба.
Заметки и интересные факты
Встречали монстра вида https://aidotool.com/?from=%E5%88%86%E4%BA%AB после копирования ссылки из мессенджера? Это процентное кодирование. Классическая ловушка: люди зовут encodeURI там, где нужен был encodeURIComponent, и экранируют лишние слэши — или наоборот, и символ & в значении параметра ломает строку пополам. Здесь оба режима рядом, и сразу видно, какой вы имели в виду.
Происхождение и история
Процентное кодирование придумал Тим Бернерс-Ли и ранняя рабочая группа по URI около 1994 года, когда URL впервые описали в RFC 1738. Позже правила уточнили RFC 2396 (1998) и RFC 3986 (2005) — по последнему документу браузеры живут до сих пор.
Похожие запросы
Обратная связь
Нашли проблему с инструментом или есть предложение? Напишите нам на email — мы читаем каждое сообщение.
