При вводе url с $ в адресной строке браузера он автоматически конвертирует $ в% 24, почему браузер не может отправить URL как есть?

Например,

выполнить поиск $ в адресной строке суперпользователя, он автоматически преобразуется в superuser.com/search?q =% 24 .ie superuser.com в адресной строке браузера автоматически преобразует URL в% 24

Есть ли какая-то причина, по которой браузер отображает его как закодированное значение?почему браузер не может отображаться как это URL?

При дальнейшем изучении он всегда автоматически конвертирует все специальные символы, есть ли причина такого кодирования?

1 ответ1

1

Потому что некоторые персонажи имеют особые значения.

Например, в строке запроса амперсанд (&) используется в качестве разделителя между парами ключ-значение. Если вы поместите амперсанд в одно из этих значений, это будет выглядеть как разделитель между концом значения и началом следующего ключа. Поэтому для таких специальных символов, как этот, мы используем процентное кодирование, чтобы быть уверенными, что данные зашифрованы однозначно. [Ссылка]

Это просто кодировка URL, и поскольку URL часто содержат символы вне набора ASCII, URL должен быть преобразован в допустимый формат ASCII.Кодировка URL заменяет небезопасные символы ASCII на «%», за которым следуют две шестнадцатеричные цифры. URL не могут содержать пробелы. Кодировка URL обычно заменяет пробел знаком плюс (+) или% 20.

Смотрите здесь список символов кодировки URL. Справочник по кодированию W3Schools и ASCII

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .