Символы, которыми URL не может заканчиваться? - PullRequest
0 голосов
/ 13 мая 2018

Какими символами (если они есть) URL веб-браузера (http / https) не может заканчиваться на?

Насколько я могу судить, управляющие символы не используются, например

  • \0 ноль.
  • \t таб.
  • \n перевод строки.
  • пробел (из тестирования кажется, что он удален).

Есть ли полный список таких персонажей?

1 Ответ

0 голосов
/ 14 мая 2018

Есть три случая, как может заканчиваться URI:

Стандарт URI не накладывает никаких ограничений на конец этих трех компонентов ( Путь , Запрос , Фрагмент ) поэтому допускаются те же символы, которые могут появляться где-либо еще в компонентах:

пробел (из тестирования кажется, что он удален)

URI могут иметь (несколько) пробелов в конце (во всех трех случаях), но они должны кодироваться в процентах. Пробелы не могут быть закодированы независимо от того, где.

http://example.com/path-ending-with-four-spaces-%20%20%20%20

Если пользовательский агент пытается преобразовать пользовательский ввод в действительный URI (т. Е. В процентном кодировании все символы, которые не могут появиться в компоненте), он может предположить, что конечные пробелы не предназначены быть частью URI и раздеть их.

То же самое касается символов табуляции и новой строки. Они могут быть частью URI, если они кодируются в процентах.

...