Re: Re: CGPro and URL Escaping

От: Vladimir A. Butenko <CGatePro_at_mx_ru>
Дата: Fri 17 Dec 2004 - 15:56:34 MSK

On Fri, 17 Dec 2004 15:44:19 +0300
  "Maxim Cherniavsky" <CGatePro@mx.ru> wrote:
> > RFC - вещь не скользская. "/" в данном контесте НЕ есть path
> separator, и как раз для того, чтобы он им не был - используется %2F.
>
> Только пару вопросов:
> 1. Почему CGPro нормально отрабатывает

>/http://my-mailserver.ru/Session/16-5Rzk8YMbsgIeU8k0FojS/MessagePart/INBOX/subfolder1/subfolder2/subfolder/1-B1/file.zip 
><http://mx.ru/Redirect/my-mailserver.ru/Session/16-5Rzk8YMbsgIeU8k0FojS/MessagePart/INBOX%2Fsubfolder1%2Fsubfolder2%2Fsubfolder/1-B1/file.zip>

>
> /Из чего я делаю вывод что внутрення функция, которая работает с URI,
>производит полноценный Unescape, прежде чем начать обрабатывать.
> Вряд ли в обратную сторону :)

Я не понял вопрос. Какая разница как там внутри оно устроено. Когда ему наплевать, какие получатся A HREF, то могут использоваться реальные "/". А когда не плевать - используются %2F, чтобы браузеры правильно делали HREF. "/" и "%2f" - это РАЗНЫЕ вещи. А то, что оно там унутре себя преобразует %2f в "/" - так да, конечно.

> 2. "generic URI" syntax consists of a sequence of four main components:
> <scheme>://<authority><path>?<query>
> и то, что мы имеем в
> //Session/16-5Rzk8YMbsgIeU8k0FojS/MessagePart/INBOX/subfolder1/subfolder2/subfolder/1-B1/file.zip
><http://mx.ru/Redirect/my-mailserver.ru/Session/16-5Rzk8YMbsgIeU8k0FojS/MessagePart/INBOX%2Fsubfolder1%2Fsubfolder2%2Fsubfolder/1-B1/file.zip>
> /ИМХО и есть <path>

Да, тут это path. Только его элементы определяет сервер, а не писатели Apache. Если написано /aaaaa%2Fbbbb/zzzzz, то это path с 2 элементами - aaaaa%2Fbbbbb и zzzzzz.

И если на такой страничке будет HREF="../../xxxx", то это будет xxxx, а не aaaaa/xxxxx. В этом и есть разница между %2F и /

> 3. Стало совсем интересно и решил создать папку "aaa/bbb" получил очень

>интересный результат. Папку "bbb", в которую можно попасть и неуправляемую 
>папку "aaa"

> Соответсвенно папку "bbb" удалить смог, а вот "aaa" нет :) (Делал и
> через ИМАП клиент и через веб интерфейс)

Именно для этих случаев все эти %2F и делаются.

Вы создали папку-фолдер "aaaa" и внутри нее - папку "bbbb". WebMail с "чистыми" фолдерами не работает. Если хотите ее стереть - просто создайте еще "aaaa" - получится папка "aaaa" mailbox+folder. Если ее стереть, то сотрутся оба (если нету под-майлбоксов).

А нормальный IMAP клиент должен и без создания mailbox, по чистому фолдеру работать.

И: чтобы создать чистый фолдер, можно задать имя как "aaaa/"   

> Спасибо
>
> --
> Best regards,
> Maxim Cherniavsky
> Comstar-UTS, Internet Division
> mailto: maxim (at) comstar.ru

Sincerely,
Vladimir Получено Fri Dec 17 12:56:39 2004

Этот архив был сгенерирован hypermail 2.1.8 : Thu 06 Apr 2006 - 19:39:03 MSD