Полное руководство по URL-кодированию
Узнайте всё об URL-кодировании: что это такое, почему это важно, как работает процентное кодирование и какие есть лучшие практики для обработки специальных символов в URL.
Советы, руководства и лучшие практики по кодированию URL и веб-разработке.
Узнайте всё об URL-кодировании: что это такое, почему это важно, как работает процентное кодирование и какие есть лучшие практики для обработки специальных символов в URL.
Подробное сравнение JavaScript-функций encodeURIComponent() и encodeURI() с примерами и рекомендациями по применению.
Разбираемся, как диагностировать и устранить распространённую ошибку "URIError: URI malformed" в JavaScript с помощью практических решений.
Подробный справочник по URL-кодированию специальных символов, включая пробелы, амперсанды, юникод и другие.
Освойте URL-кодирование при разработке REST API. Узнайте, как правильно кодировать параметры запроса, сегменты пути и создавать надёжные API.
encodeURI кодирует URL целиком, сохраняя структурные символы вроде /, ? и #. encodeURIComponent кодирует отдельный компонент URI, экранируя все специальные символы, включая /, ? и &. Используйте encodeURIComponent для значений параметров запроса, а encodeURI — для полных URL.
URL-кодирование (percent-encoding) преобразует специальные символы в URL в формат %XX согласно RFC 3986. Base64 преобразует двоичные данные в текстовую строку с помощью 64 ASCII-символов согласно RFC 4648. Они решают разные задачи и не взаимозаменяемы.
Полная справочная таблица URL-кодированных символов. Охватывает все печатаемые символы ASCII (32-126), распространённые символы Unicode и их эквиваленты в процентном кодировании согласно RFC 3986.
URL-кодирование в Python выполняется с помощью urllib.parse.quote() для percent-кодирования строк и urllib.parse.urlencode() для кодирования словарей в строки запроса. В этом руководстве разбираются quote(), unquote(), urlencode() и parse_qs() на практических примерах.
Процентное кодирование — это механизм, определённый в RFC 3986, для кодирования специальных символов в URI путём их замены на знак процента (%), за которым следуют две шестнадцатеричные цифры. Оно гарантирует, что URL-адреса содержат только допустимые ASCII-символы, которые можно безопасно передавать по интернету.
%20 — это стандартное percent-encoding кодирование символа пробела согласно RFC 3986, которое следует использовать в путях URL и в большинстве контекстов. Знак + обозначает пробел только в формате application/x-www-form-urlencoded, применяемом при отправке HTML-форм и в некоторых строках запроса.
В JavaScript есть функция decodeURIComponent() для декодирования отдельных компонентов URI и decodeURI() для декодирования URI целиком. Используйте try-catch для обработки некорректных URI. API URL и URLSearchParams предлагают более безопасные способы разбора URL.
Параметры запроса в REST API должны быть закодированы через percent-encoding согласно RFC 3986, чтобы безопасно передавать специальные символы, такие как &, =, пробелы и Unicode. Используйте encodeURIComponent() в JavaScript, urllib.parse.quote() в Python или URLEncoder.encode() в Java.
HTML-кодирование сущностей преобразует символы вроде <, >, & и " в HTML-сущности (<, >, &, ") для безопасного отображения на веб-страницах. URL-кодирование преобразует символы в формат %XX для безопасной передачи в URL. Они защищают от разных типов атак и применяются в разных контекстах.
Ошибка ERR_INVALID_URL в Node.js возникает, когда конструктор URL или функция url.parse() получает строку, которая не является корректным URL. Частые причины: отсутствие протокола, незакодированные специальные символы и некорректное percent-encoding. Исправить её можно, проверяя входные данные и кодируя специальные символы перед разбором.