В чем опасность не кодировать скобки в URL?

Я прочитал этот вопрос: нормально ли иметь скобки в URL? и соответствующий RFC 3986.

Ответы на этот вопрос говорят, что [ а также ] в RFC классифицируются как разделители генов и поэтому должны быть закодированы, но не объясняют, как это будет проблематично.

Итак, я не понимаю, в чем может быть проблема с URL-адресом, таким как:

http://example.com/?foo[bar]=baz

Очевидно почему & должен быть закодирован, например, так как он используется в качестве разделителя между параметрами запроса.

Но какая польза от [ а также ] в URL, который мог бы сбить их с толку, если бы они не были закодированы в URL?

1 ответ

Решение

Из RFC 3986, раздел 3.2.2:

Хост, идентифицируемый литеральным адресом Интернет-протокола версии 6 [RFC3513] или новее, различается заключением литерала IP в квадратные скобки ("[" и "]").

Например, IPv4-адрес для вашего локального компьютера - 127.0.0.1, поэтому вы можете получить к нему доступ с помощью URL-адреса.

http://127.0.0.1/

Эквивалент IPv6 ::1таким образом, URL будет

http://[::1]/
Другие вопросы по тегам