'+' в схеме/хосте/пути URL представляют пространство?

Я знаю это a + в строке запроса URL представляет пространство. Этот также имеет место за пределами региона строки запроса? То есть делает следующий URL:

http://a.com/a+b/c

на самом деле представьте:

http://a.com/a b/c

(и таким образом потребность, которая будет закодирована, если это должен на самом деле быть a +), или делает это на самом деле на самом деле представляет a+b/c?

219
задан Mad Scientist Moses 25 October 2019 в 10:36
поделиться

3 ответа

  • Ожидается, что процентное кодирование в разделе пути URL-адреса будет декодировано, но
  • ожидается, что любые + символы в компоненте пути будут обрабатываться буквально.

Чтобы быть точным: + - это только специальный символ в компоненте запроса.

166
ответ дан 23 November 2019 в 04:10
поделиться

Вы можете найти хороший список соответствующих URL-кодированных символов на W3Schools .

  • + становится % 2B
  • пространство становится % 20
232
ответ дан 23 November 2019 в 04:10
поделиться

URL-адреса следует кодировать всегда.

Вот как Ruby кодирует ваш URL-адрес:

irb(main):008:0> CGI.escape "a.com/a+b"
=> "a.com%2Fa%2Bb"
-5
ответ дан 23 November 2019 в 04:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: