Когда вы передаете информацию через URL-адрес, в строке должны использоваться только определенные разрешенные символы. Эти разрешенные символы включают буквенные символы, цифры и несколько специальных символов, которые имеют значение в строке URL-адреса. Любые другие символы, которые необходимо добавить в URL-адрес, должны быть закодированы, чтобы они не вызывали проблем при поиске браузером нужных страниц и ресурсов.
Кодирование URL
Кодирование просто берет специальный символ и заменяет его его закодированной альтернативой. Строка выглядит запутанной, но результат легко читается компьютерами, и вы не рискуете ошибиться перенаправлением URL.
Например, ссылка на файл с названием мое резюме.pdf требуется кодировка URL для размещения пробелов между мой а также резюме. Результат мой% 20resume.pdf. Без кодировки символа пробела веб-браузер будет считать, что URL-адрес заканчивается на конце слова мой, с участием resume.pdf отбрасываются как лишние данные. В такой ситуации вы никогда не найдете свой файл!
Что следует кодировать?
Любой символ, не являющийся алфавитным, числом или специальным символом, который используется вне нормального контекста, должен быть закодирован на вашей странице. Ниже представлена таблица общих символов в URL-адресах и их кодировки:
Кодировка URL зарезервированных символов
Персонаж | Цель в URL | Кодирование |
: | Отдельный протокол (http) от адреса | % 3B |
/ | Отдельный домен и каталоги | % 2F |
# | Отдельные якоря | %23 |
? | Отдельная строка запроса | % 3F |
& | Отдельные элементы запроса | %24 |
@ | Отдельное имя пользователя и пароль от домена | %40 |
% | Обозначает закодированный символ | %25 |
+ | Обозначает пробел | % 2B |
Не рекомендуется в URL | % 20 или + |
Эти закодированные примеры отличаются от того, что вы найдете с Специальные символы HTML. Например, чтобы закодировать URL-адрес с символом амперсанда, используйте %24. Однако в HTML используйте либо & или же &, оба из которых будут записывать амперсанд на HTML-странице.
Эти разные схемы кодирования не так противоречивы, как кажутся. Один набор управляет URL-адресами, а другой - содержанием страницы, на которую указывает URL-адрес.