Что такое URL-кодирование? Полное руководство по процентному кодированию
URL-кодирование, также известное как процентное кодирование, — это механизм кодирования информации в унифицированном идентификаторе ресурса (URI) при определённых обстоятельствах. Он преобразует символы, недопустимые в URL, в безопасный формат с использованием знака процента и следующих за ним двух шестнадцатеричных цифр.
Зачем существует URL-кодирование
Интернет был построен на ASCII, который определяет всего 128 символов. URL-адреса должны безопасно передаваться через системы, которые могут некорректно обрабатывать не-ASCII или специальные символы. URL-кодирование гарантирует, что любой символ — пробелы, символы Unicode или специальные знаки — может быть безопасно включён в URL.
Например:
- Пробел →
%20 @→%40你好→%E4%BD%A0%E5%A5%BD
Зарезервированные и незарезервированные символы
RFC 3986 определяет две категории символов в URL:
Незарезервированные символы (никогда не требуют кодирования): A-Z a-z 0-9 - _ . ~
Зарезервированные символы (имеют специальное значение, требуют кодирования при буквальном использовании): : / ? # [ ] @ ! $ & ' ( ) * + , ; =
Когда зарезервированный символ должен быть частью данных, а не структуры URL, он должен быть процентно закодирован.
Когда использовать каждую функцию кодирования
- encodeURI: кодирование полного URL с сохранением структурных символов
- encodeURIComponent: кодирование отдельного параметра URL или значения компонента
Использование неправильной функции — одна из самых распространённых ошибок в веб-разработке. Попробуйте наш URL-кодировщик/декодировщик, чтобы поэкспериментировать с обоими режимами.