кодирование | декодирование | сжатие

> base64url | jwt | url-safe <

// Base64url — вариант Base64 без заполнения, безопасный для URL и имён файлов

[URL-SAFE]

Совместимость с URL

Нет специальных символов URL — безопасно для query‑параметров и путей.

[JWT]

Стандарт JWT

Используется в JSON Web Tokens и спецификациях OAuth 2.0.

[NO-PADDING]

Необязательное заполнение

Символы заполнения (=) можно опустить для более «чистых» URL.

>> техническая информация

Как работает Base64url:

Base64url — это вариант Base64, который заменяет "+" на "-", а "/" на "_", делая результат безопасным для URL и имён файлов. Символ заполнения "=" часто опускают, так как он может вызывать проблемы в адресной строке.

Сравнение:

Base64: SGVsbG8+Pw== Base64url: SGVsbG8-Pw

Зачем использовать Base64url:

  • >JWT‑токены
  • >Потоки OAuth 2.0
  • >Параметры запроса в URL
  • >Кодирование имён файлов
  • >Подписи Web‑API

>> часто задаваемые вопросы

Что такое Base64url?

Base64url — это вариант кодирования Base64, безопасный для URL и имён файлов. Он заменяет "+" на "-", "/" на "_" и при необходимости удаляет символы заполнения "=", чтобы избежать проблем с URL‑кодированием.

Почему нельзя использовать обычный Base64 в URL?

Обычный Base64 использует символы "+", "/" и "=", которые имеют особое значение в URL. "+" может интерпретироваться как пробел, "/" является разделителем пути, а "=" используется для параметров, что приводит к ошибкам разбора.

Где используется Base64url?

Base64url широко применяется в JWT (JSON Web Tokens), кодах авторизации OAuth 2.0, утверждениях SAML и в любых API, где требуется передавать бинарные данные в URL или заголовках HTTP.

Обязательно ли использовать заполнение в Base64url?

Нет, заполнение в Base64url является опциональным. Многие реализации его опускают, поскольку длину можно вычислить. В частности, спецификации JWT требуют отсутствия padding для более компактных URL.

Другие языки