Что произойдет, если у меня есть ./ или ../ или ... / в моем URL? - PullRequest
0 голосов
/ 06 ноября 2019

Допустим, у нас есть URL, как показано ниже

  1. http://localhost:8080/sample/url/./something?queryparam=something
  2. http://localhost:8080/sample/url/../something?queryparam=something
  3. http://localhost:8080/sample/url/.../something?queryparam=something

Это действительные URL-адреса, которые будут получать некоторый ответ. Но только третий URL получен правильно, первые два после попадания изменяются на

http://localhost:8080/sample/url/something?queryparam=something (удалено './')

http://localhost:8080/sample/url/something?queryparam=something (он удалил '../')

Но сработал для третьего URL.

Как здесь происходит побег?

1 Ответ

0 голосов
/ 06 ноября 2019

Второй должен фактически оцениваться как:

http://localhost:8080/sample/something?queryparam=something

То, что вы видите здесь, является результатом относительного разрешения, в частности https://www.greenbytes.de/tech/webdav/rfc3986.html#relative-dot-segments.

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

...