Proxy pass, upstream and http/1.0

komone nginx-forum at nginx.us
Thu Jul 30 16:36:06 MSD 2009


Hi Maxim,

Many thanks for your very informative response. It's definitely convinced me to keep 1.0 support in this server...

Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
> 
> On Thu, Jul 30, 2009 at 06:10:49AM -0400, komone
> wrote:
> Just a note: you can't be HTTP/1.1 complaint
> without correct 
> support for HTTP/1.0.

Actually, I was aware of this but could not see the value in it.

> Just some arbitrary stats from some frontend
> server:
> 
> $ fgrep 'HTTP/1.0' access_log | wc -l
>    62734
> $ fgrep 'HTTP/1.1' access_log | wc -l
>  1979061
> 
> So it's about 3% of HTTP/1.0 requests anyway. 
> This includes 
> various proxies, mobile phones, various robots

...and the best case I have seen made for keeping 1.0 in the server.

> etc.  AFAIK IE 
> still uses HTTP/1.0 by default if configured with
> proxy.

...why is it always IE that has to be "different"? :(

BTW I've found that IE closes keep-alive connections when it gets a not modified response. 
Chrome does that too but Google have listed it as a bug that will be fixed...

> Chunked transfer encoding has basically two
> goals:
> 
> 1. keep connections alive
> 2. ensure data consistency in case of connection
> drop
> 
> Both apply only in case you have no known
> Content-Length.  
> And benefits of both are highly questionable in
> case of 
> frontend-backend connection.
> 
> If you have connection drops - you are in trouble
> and HTTP/1.1 
> won't help anyway.


Good point.


> 
> Keeping connections alive is mostly performance
> question, and 
> doesn't really apply unless you have either very
> fast backend or 
> something wierd that spends lots of resources on
> opening new 
> connections.  And, actually, HTTP/1.1 support
> doesn't imply 
> keepalive connections support.
> 
> I'm currently working on HTTP/1.1 support to make
> it possible to 
> keep http connections alive.  But it doesn't looks
> for me that 
> HTTP/1.0 is somewhat limiting.  Just performance
> issue for very 
> special cases.
> 

The back-end is likely to be pretty quick, yes, but I'm happy enough to proceed with implementing 1.0 and continuing to target NginX as the front-end recommendation.

When I finally get to real load testing, I'll be sure to report any issues I may find (if any). I'll also keep an interested half-eye on your work on 1.1 support as I proceed with my own project.

Thank you, Maxim, and thanks also to Cliff, for fully addressing and clarifying these issues for me. 

Your time in responding and the benefit of your experience is very much valued at this end.

With very best regards,
Steve

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,4593,4614#msg-4614






More information about the nginx mailing list