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