Ответ 1
На самом деле на самом деле не совсем четко указано в стандарте (RFC 3986), является ли процентная кодировка версии .
или ..
Предположим, что у вас есть такая же папка-папка/вверх-папка, что и в виде невыпадающей версии. В разделе 3.3 говорится только о сегментах пути .
и ..
", не уточняя, соответствуют ли они .
и ..
до или после pct-кодирования.
Лично я считаю интерпретацию Firefox, что %2E
не означает .
наиболее практичный, но, к сожалению, все другие браузеры не согласны. Это означает, что вы не можете иметь компонент пути, содержащий только .
или ..
.
Я думаю, что единственное возможное предложение - "не делай этого"! Есть и другие компоненты пути, которые также являются сложными, как правило, из-за ограничений сервера: %2F
, %00
и %5C
последовательности в путях также могут блокироваться некоторыми веб-серверами, а пустой сегмент пути также может вызывать проблемы. Таким образом, в общем случае невозможно установить все возможные байтовые последовательности в компонент пути.