true 414 status code
Валентин Бартенев
vbart at nginx.com
Sun Sep 1 23:08:04 UTC 2013
On Sunday 01 September 2013 17:15:55 Gena Makhomed wrote:
> On 31.08.2013 23:57, Валентин Бартенев wrote:
> >> Подскажите пожалуйста, а как без "грязных хаков" получить от nginx, 414
> >> status code, на запросы, размер которых, превышает large_client_header_
> >> buffers?
> >>
> >> Постоянно получаю 200 http status code и нижеприведенное в body:
> >>
> >> <html>
> >> <head><title>414 Request-URI Too Large</title></head>
> >> <body bgcolor="white">
> >> <center><h1>414 Request-URI Too Large</h1></center>
> >> <hr><center>nginx/1.2.9</center>
> >> </body>
> >> </html>
> >
> > Это не "200 http status code", а HTTP/0.9 ответ с ошибкой.
>
> а есть ли смысл отвечать по протоколу версии HTTP/0.9 ?
> тем более, что запрос в 99.9999999% был версии 1.0 или 1.1
>
> даже если "Request-URI Too Large" - версию протокола
> запроса можно узнать из строки запроса, при желании.
Нельзя. В наихудшим случае (а он обязательно наступит)
строка запроса будет бесконечна.
>
> тем более, что протокол версии 0.9 не умеет прислать
> клиенту ответ в котором будет указан status code 414
>
> а парсить тело ответа веб-сервера никто не будет,
> различных серверов много и формат ответов разный.
Я согласен, ИМХО имеет лучше откатываться до 1.0, и даже
прислал коллегам соответствующий патч на ревью.
--
Валентин Бартенев
http://nginx.org/en/donation.html
Подробная информация о списке рассылки nginx-ru