Согласно RFC 3986, символы в URL ограничены только определенным набором зарезервированных символов US-ASCII. Любые другие символы не допускаются в URL.

Но URL часто содержит символы вне набора символов US-ASCII, поэтому они должны быть преобразованы в действительный формат US-ASCII для совместимости.

Чтобы отобразить широкий спектр символов, используемых во всем мире, используется двухэтапный процесс:

  • Сначала данные кодируются в соответствии с кодировкой символов UTF-8.
  • Только те байты, которые не соответствуют символам в незарезервированном наборе, должны кодироваться в процентах, например, %HH, где HH — шестнадцатеричное значение символа.

Например, строка François будет закодирована как Fran%C3%A7ois

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

Определенные символы зарезервированы для использования в URL-адресе, поскольку они используются для синтаксиса в схеме URL-адресов. Например, косая черта / используются для разделения различных частей URL-адреса.

Если данные для URL-компонента содержат символ, который может конфликтовать с зарезервированным набором символов в схеме URL, тогда конфликтующий символ должен быть закодирован в процентах до формирования URL. Зарезервированные символы в URL:

! # $ & ' ( ) * + , / : ; = ? @ [ ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D

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

К незарезервированным символам относятся прописные и строчные буквы, десятичные цифры, дефис, точка, подчеркивание и тильда. В следующей таблице перечислены все незарезервированные символы в URL:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 - _ . ~  

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.