Почему браузеры кодируют URL в этой форме? - PullRequest
3 голосов
/ 25 декабря 2010

Почему браузеры кодируют URL в этой форме?

От:

http://www.example.com 

до:

http%3A%2F%2Fwww.example.com

Ответы [ 3 ]

4 голосов
/ 25 декабря 2010

URL-адреса могут отправляться только через Интернет с использованием набора символов ASCII .

Поскольку URL-адреса часто содержат символы вне набора ASCII, URL-адрес необходимо преобразовать.Кодировка URL преобразует URL в действительный формат ASCII.

Кодировка URL заменяет небезопасные символы ASCII на «%», за которым следуют две шестнадцатеричные цифры, соответствующие значениям символов в наборе символов ISO-8859-1.

URL не могут содержать пробелы.Кодировка URL обычно заменяет пробел знаком +.

Подробнее можно прочитать здесь:

ВВЕДЕНИЕ В КОДИРОВАНИЕ URL / КОДИРОВАННЫЕ СТРОКИ URL

0 голосов
/ 25 декабря 2010

Потому что ":" и "/" имеют обозначенное значение в URL.«:» отделяет схему от конкретной части схемы.«/» используется для отделения частей пути друг от друга.Два символа «/» в начале определенной части схемы в URL-адресах HTTP обозначают URL-адрес как абсолютный URL-адрес.Если вы не хотите, чтобы эти символы имели такое значение (например, когда они являются частью строки запроса), вы должны кодировать их.

0 голосов
/ 25 декабря 2010

Поскольку URI могут содержать только символы ASCII, другие символы должны быть закодированы как% плюс две шестнадцатеричные цифры. Например, сам% будет закодирован (экранирован, если хотите) как% 25, ​​потому что шестнадцатеричное 25 или десятичное 37 является кодовой точкой для%.

Это кодирование не обязательно, так как: и / допускаются в чистом виде. Дело в том, что стандарт определяет, что он в точности эквивалентен использованию / или: напрямую. Но многие браузеры и серверы фактически не замечают этого для таких распространенных символов.

Другая вещь - это использование URI в качестве идентификаторов пространства имен, как это делает XML. Если даже две строки могут соответствовать одному и тому же URI, на самом деле они могут быть разными пространствами имен, поскольку строка символов отличается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...