B2BB2CH2H

Экранирование

Экранирование специальных символов - это процесс преобразования специальных символов (например, кавычек, пробелов, знаков препинания) в их соответствующие эквиваленты для передачи данных через различные протоколы и форматы.

Процентное кодирование или кодирование URI-адресов представляет собой метод кодирования произвольных данных с использованием ограниченных символов US-ASCII, разрешённых в URI.

Синтаксис URI содержит зарезервированные символы (двух типов) и незарезервированные символы.

Зарезервированные символы

gen-delims ":", "/", "?", "#", "[", "]", "@" - символы, разделяющие URI на крупные компоненты.

sub-delims "!", "$", "&", "'", "(", ")", "*", "+", ",", ";", "=" - символы, разделяющие крупный компонент на более мелкие составляющие.

Незарезервированные символы

В общем случае незарезервированные символы - это ALPHA, DIGIT, "-", ".", "_", "~", где ALPHA - это буквы, а DIGIT - десятичные цифры.

Если символ из набора зарезервированных символов используется в другом контексте, то он должен быть закодирован в процентах. Процентное кодирование зарезервированного символа представляет собой замену/преобразование символа в соответствующее ему значение.

Например, зарезервированный символ "/" может быть заменен следующими символами: %2F.

Пример запроса без экранирования
1https://id.alfabank.ru/oidc/authorize?response_type=code&client_id=0cee0683-85ae-49f2-a63d-29f97aad1911&redirect_uri=https://wwww.partner.ru/code&scope=openid&state=abcdef
Пример запроса с экранированием
1https://id.alfabank.ru/oidc/authorize?response_type=code&client_id=0cee0683-85ae-49f2-a63d-29f97aad1911&redirect_uri=https%3A%2F%2Fwwww.partner.ru%2Fcode&scope=openid&state=abcdef
Таблица кодирования символов
Символ ANSI
~ %7E
` %60
' %27
" %22
@ %40
? %3F
! %21
# %23
№ %B9
$ %24
...