Ошибка в SSI encoding

Maxim Dounin mdounin at mdounin.ru
Thu Apr 9 13:06:58 MSD 2009


Hello!

On Thu, Apr 09, 2009 at 11:44:24AM +0400, Igor Sysoev wrote:

> On Thu, Apr 09, 2009 at 11:21:36AM +0400, Илья Винокуров wrote:
> 
> > > > Это регулируется уже не RFC1738.
> > > указанный вами RFC разделители для searchpart тоже не регулирует.
> > 
> > Как я Вас понял, Андрей, Вы не хотите, чтобы nginx при разборе параметров учитывал и ';'?
> > 
> > Это религиозная позиция?
> 
> Это позиция здравого смысла. Есть стандарт, которому, к счастью,
> практически все следуют. Вот я сейчас запросил в Firefox'е
> "/page?one=1;two=2", оно в таком виде и пришло в сервер без всяких %XX.
> И как оно должно интепретироваться - как one="1;two=2" или как one=1 и two=2 ?

Если ты запросишь в Firefox'е "/page?one=1&two=2" - оно тоже 
придёт на сервер без всяких %XX.  Задачи escaping'а адреса целиком 
и конкретного компонента query string - разные, и одновременно они не 
рашаются.

Что до использование '&' и/или ';' как разделителя в query_string - 
то это вопрос исключительно соглашения.  Единственный известный мне 
стандарт, который утверждает что использовать надо '&' - это HTML 
(и утверждает он это исключительно для form submission, и ничего 
больше).  При этом в том же HTML рекомендуется поддерживать также ';', 
см. http://www.w3.org/TR/html401/appendix/notes.html#h-B.2.2.

Во всяких "ручных" ссылках из wml/xml/xhtml сейчас ';' применяется 
достаточно широко, и из стандартных библиотек его поддерживает как 
минимум перловый CGI.pm.

Maxim Dounin





More information about the nginx-ru mailing list