Согласно 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 - _ . ~  

Похожие посты

Руководство по тегам и элементам в HTML

HTML-элемент — это отдельный компонент документа HTML. Он представляет собой семантику или некоторое значение. Например, элемент <title> представляет заголовок документа. Большинство элементов HTML пишутся с начальным тегом (или открывающим) и конечным тегом (или закрывающим) с содержимым между ними. Элементы могут также содержать атрибуты, которые определяют его дополнительные свойства. Например, абзац, который представлен элементом <p>, будет…

Руководство по заголовкам в HTML

Заголовки помогают определить иерархию и структуру содержимого веб-страницы. В HTML есть шесть уровней заголовков, от <h1> до <h6>; чем выше уровень заголовка, тем больше его важность — поэтому тег <h1> определяет самый важный заголовок, а тег <h6> определяет наименее важный заголовок в документе. По умолчанию браузеры отображают заголовки более крупным и жирным шрифтом, чем обычный…

Руководство по мета-тегам в HTML

Теги <meta> обычно используются для предоставления структурированных метаданных, таких как ключевые слова (keywords), описание (description), имя автора (author name), кодировка символов (character encoding) и т.д. В теге <head> может быть размещено любое количество метатегов <meta>. Метаданные не будут отображаться на веб-странице, но будут обрабатываться поисковиками, браузерами и другими веб-сервисами. Теперь рассмотрим использование мета-тегов. Объявление кодировки…

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

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

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

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