Re: Бага в proxy_method
Maxim Dounin
mdounin at mdounin.ru
Mon Jan 14 15:07:33 UTC 2013
Hello!
On Mon, Jan 14, 2013 at 04:50:52PM +0200, Gena Makhomed wrote:
> On 14.01.2013 16:24, Maxim Dounin wrote:
>
> >>>>>А, нет, вру, должно быть всё нормально и без пробела, это
> >>>>>действительно бага.
> >>>>
> >>>>>У тебя proxy_method задан на уровне http{}, да?
> >>>>
> >>>>Да, на уровне http{}.
> >>
> >>MD> Патч.
> >>
> >>Неправильный патч.
> >>Правильно будет делать trim() и добавлять пробел всегда.
>
> >А не по^Wвсё ли равно? Цель схлопнуть несколько пробелов в один,
> >если их там вдруг больше одного, мне представляется старнной и
> >малоосмысленной. Пробел - разделитель, сколько их там будет, если
> >пользователь написал в конфиге метод с пробелами - неважно.
>
> никто не может гарантировать, что все http backend`ы будут правильно
> работать, если вместо ожидаемого ими одного пробела придет
> несколько.
Для этого надо явно написать более одного пробела в конфиге, что
как бы позволяет предположить, что пользователь этого
действительно хотел.
> да и просто - некрасиво, что в этом месте nginx будет нарушать RFC.
>
> http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1
>
> Request-Line = Method SP Request-URI SP HTTP-Version CRLF
>
> SP = <US-ASCII SP, space (32)>
>
> P.S. кроме того, http://en.wikipedia.org/wiki/Robustness_principle
Читать про "implied *LWS" там тут:
http://tools.ietf.org/html/rfc2616#section-2.1
Несколько пробелов - это допустимо.
--
Maxim Dounin
http://nginx.com/support.html
Подробная информация о списке рассылки nginx-ru