cURL / Mailing Lists / curl-library / Single Mail


Re: CURLOPT_HTTP_VERSION doesn't work?

From: Daniel Stenberg <>
Date: Thu, 8 Jan 2009 08:17:26 +0100 (CET)

On Wed, 7 Jan 2009, A. Craig West wrote:

> I was about to craft an amazing reply itemizing the possibilities, I
> realized that there is an obvious one: HTTP1.1 proxy, HTTP1.0 destination
> server. The opposite case doesn't make much sense, as I am pretty sure a 1.0
> compliant proxy won't forward 1.1 connections in any case, but we might as
> well allow it to try :-)

I believe squid, as an example, has been a HTTP 1.0-server proxy for about a
decade, serving both 1.0 and 1.1 clients and servers fine. Of course, if you
do a normal HTTP 1.1 GET through squid it'll send a HTTP 1.0 GET to the remote
server (and a HTTP 1.0 response back to the client), but if we CONNECT 1.0
through it we can still talk HTTP 1.1 with the remote server.

This said, I can't figure out a single proxy that will complain if we start
sending HTTP 1.1 in the CONNECT request, but history has proven that almost no
matter what seemingly trivial change we do there's some piece of junk
somewhere in the corners of the internet that breaks! :-O

> I suspect the logic will be a lot simpler with a separate option,
> CURLOPT_PROXY_HTTP_VERSION. Where else besides CONNECT do we communicate
> with the proxy as a distinct entity from the destination server?

I don't think it is done elsewhere.

Received on 2009-01-08