ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Не отдается картинка - client sent too long header line



On 09.08.2012 20:29, Maxim Dounin wrote:

Приходит не 200, приходит HTTP/0.9 ответ, потому как у nginx'а
кончается буфер и он не знает, какой протокол использовал запрос - и
предполагает минимальный из возможных.

причем, при таком ответе: Connection #0 to host www.cnn.com left intact
- что не соответствует HTTP/0.9, там еще не было keep-alive соединений.
( да, на www.cnn.com тоже установлен Server: nginx, как оказалось... )

наверное мало веб-клиентов сейчас смогут понять ответ по протоколу HTTP/0.9, даже если он будет корректно реализован на стороне nginx.
например, в новых версиях python поддержку HTTP 0.9 уже выбросили.

сейчас обсуждается вопрос собственно ответа 414, когда
кончился буфер на чтении uri.

например, гугловский веб-сервер GFE/2.0 в такой ситуации считает,
что минимальная версия протокола - это HTTP/1.0, а не HTTP/0.9
и отвечает по HTTP/1.0 на запрос от curl по протоколу HTTP/1.1

$ curl -v $(perl -e 'print "http://www.google.com/","414test"x2000')

HTTP/1.0 414 Request-URI Too Large
Server: GFE/2.0

$ curl -v $(perl -e 'print "http://www.google.com/","413test"x9000')

HTTP/1.0 413 Request Entity Too Large
Server: GFE/2.0

=====================================================================

On 09.08.2012 19:00, Maxim Dounin wrote:

> Код ответа - 414.  Но поскольку ответ отправляется по протоколу
> HTTP/0.9, в котором самого понятия "код ответа" нет, клиент его
> не видит.

не все клиенты, которые понимают ответ HTTP/1.х смогут понять HTTP/0.9
и со временем таких клиентов, которые не поддерживают архаичные версии
HTTP протокола будет все больше. может быть лучше отвечать по HTTP/1.0
и сразу закрывать соединение с клиентом ?

--
Best regards,
 Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.