[erlang-questions] Any HTTP 1.0 clients out there?

349 views
Skip to first unread message

Steve Davis

unread,
Jul 12, 2009, 12:46:04 AM7/12/09
to erlang-q...@erlang.org
This is not explicitly erlang related - but the telecoms expertise of
many on the list is, I think, likely to yield a reliable answer.

Are there any *commercially relevant* HTTP/1.0 clients left out there?
I've not seen any discussions on the web about 1.0 since the
mid-2000s. That being the case -- is it reasonable to say that HTTP/
1.0 is not just outdated but effectively dead?

TIA,

Steve

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Oscar Hellström

unread,
Jul 13, 2009, 5:14:55 AM7/13/09
to Steve Davis, erlang-q...@erlang.org
Hi Steve,

May I just ask why you're asking? Are you interested in using a HTTP/1.0
client, or are you asking if you should put any effort in to making a
server 1.0 compliant?

My only experience of HTTP/1.0 was in a commercial project not too long
a ago (~2 years). The protocol an external service used was XML over
HTTP, and their servers would only speak HTTP/1.0. This mainly affected
connection keep-alive, since we didn't want to do any chunked upload or
such. I don't know if this is still the case though.

Best regards

--
Oscar Hellström, os...@erlang-consulting.com
Office: +44 20 7655 0337
Mobile: +44 798 45 44 773
Erlang Training and Consulting Ltd
http://www.erlang-consulting.com/

Steve Davis

unread,
Jul 13, 2009, 7:09:25 AM7/13/09
to erlang-q...@erlang.org
Hi Oscar,

My interest is in whether it is at all relevant to support HTTP/1.0 on
a server any more - currently I've stripped out that code and just
return status 505 (HTTP version not supported).

Regards,

Oscar Hellström

unread,
Jul 13, 2009, 8:12:27 AM7/13/09
to Steve Davis, erlang-q...@erlang.org
Hi Steve,

I guess that depends on what kind of clients you will have. If you have
a controlled set of clients it would be very easy to make sure that
there are no HTTP/1.0 clients, but in a scenario where clients is the
general public I think you might still get some HTTP/1.0 clients. For
instance, lynx on my machine (,2.8.6rel.5 libwww-FM/2.14...) is claiming
to be an HTTP/1.0 client while links (ELinks/0.11.1-1.2etch...) on
another machine of mine is using HTTP/1.1. I do use lynx and links every
now and then, but I don't know if I would be a relevant user of your
application.

Best regards

--
Oscar Hellström, os...@erlang-consulting.com
Office: +44 20 7655 0337
Mobile: +44 798 45 44 773
Erlang Training and Consulting Ltd
http://www.erlang-consulting.com/

Anthony Shipman

unread,
Jul 13, 2009, 9:53:39 AM7/13/09
to erlang-q...@erlang.org
On Mon, 13 Jul 2009 10:12:27 pm Oscar Hellström wrote:
> Hi Steve,
>
> I guess that depends on what kind of clients you will have. If you have
> a controlled set of clients it would be very easy to make sure that
> there are no HTTP/1.0 clients, but in a scenario where clients is the
> general public I think you might still get some HTTP/1.0 clients. For
> instance, lynx on my machine (,2.8.6rel.5 libwww-FM/2.14...) is claiming
> to be an HTTP/1.0 client while links (ELinks/0.11.1-1.2etch...) on
> another machine of mine is using HTTP/1.1. I do use lynx and links every
> now and then, but I don't know if I would be a relevant user of your
> application.
>
> Steve Davis wrote:
> > Hi Oscar,
> >
> > My interest is in whether it is at all relevant to support HTTP/1.0 on
> > a server any more - currently I've stripped out that code and just
> > return status 505 (HTTP version not supported).
> >
> > Regards,
> > Steve
> >
> > ________________________________________________________________
> > erlang-questions mailing list. See http://www.erlang.org/faq.html
> > erlang-questions (at) erlang.org
>
> Best regards

I think that wget defaults to HTTP 1.0.
--
Anthony Shipman Mamas don't let your babies
a...@iinet.net.au grow up to be outsourced.

Steve Davis

unread,
Jul 13, 2009, 2:54:07 PM7/13/09
to Oscar Hellström, erlang-q...@erlang.org
Hi Oscar,

The environment is not at all controlled.

Ah yes - Lynx is an interesting use case. I understand Lynx has a
following in the financial sector, and so it definitely counts as
"commercially relevant". I will investigate further to see what happens
with Lynx when faced with an "HTTP/1.1 only" server. It may well tip the
balance.

My view is that server leniency has allowed MSIE, amongst others, to get
away with far too much, and caused a great deal of unnecessary and
frustrating hours in development. This abuse of the spirit of RFC
2616/HTTP1.1 has, I believe, actually held up the growth of the web -
quite the opposite of the intentions of Berners-Lee/Fielding back in the
90's when HTTP was devised and the concept of leniency was "good".

Many applications are now connection-orientated and far richer than just
apache-style "serve media files" roots. Ideally, we would even have
client-server ubf-style contracts; this view means the "right thing to
do" would be to "just say no" to "old" clients in a standards-compliant
way, and move on.

Lynx may well be the use case that stops me doing this.

Regards,
Steve

Steve Davis

unread,
Jul 13, 2009, 3:01:00 PM7/13/09
to erlang-q...@erlang.org
Hi Anthony -

Another one for me to check!

Thank you.
Steve

On Jul 13, 8:53 am, Anthony Shipman <a...@iinet.net.au> wrote:
>
> I think that wget defaults to HTTP 1.0.

________________________________________________________________

Thomas Lindgren

unread,
Jul 20, 2009, 9:25:19 AM7/20/09
to Steve Davis, erlang-q...@erlang.org


----- Original Message ----
> From: Steve Davis <steven.cha...@gmail.com>
> To: erlang-q...@erlang.org
> Sent: Sunday, July 12, 2009 6:46:04 AM
> Subject: [erlang-questions] Any HTTP 1.0 clients out there?
>
> This is not explicitly erlang related - but the telecoms expertise of
> many on the list is, I think, likely to yield a reliable answer.
>
> Are there any *commercially relevant* HTTP/1.0 clients left out there?
> I've not seen any discussions on the web about 1.0 since the
> mid-2000s. That being the case -- is it reasonable to say that HTTP/
> 1.0 is not just outdated but effectively dead?

This is perhaps a bit late to the party, but nginx proxies use HTTP/1.0 to the backend.

http://wiki.nginx.org/NginxHttpProxyModule

Best,
Thomas

Steve Davis

unread,
Jul 30, 2009, 3:06:36 AM7/30/09
to erlang-q...@erlang.org

On Jul 20, 8:25 am, Thomas Lindgren <thomasl_erl...@yahoo.com> wrote:
> This is perhaps a bit late to the party, but nginx proxies useHTTP/1.0to the backend.

This is indeed truly bad news. At first I thought that I wasn't
supporting OPTIONS correctly or that I had misconfigured Nginx.

Over the last few days, I've been trying to get advice from those that
know Nginx, but so far the message I am receiving from them is that
Nginx upstream not only connects over 1.0, but cannot be configured to
use 1.1.

So... Ugh.I have not been able to find any reason *why* 1.0 is used by
Nginx, and it seems like a purely arbitrary design decision.

/sd

Steve Davis

unread,
Jul 30, 2009, 8:54:11 AM7/30/09
to erlang-q...@erlang.org
A final followup and closure on this question for anyone following
this thread.

On Jul 30, 2:06 am, Steve Davis <steven.charles.da...@gmail.com>
wrote:


> So... Ugh.I have not been able to find any reason *why* 1.0 is used by
> Nginx, and it seems like a purely arbitrary design decision.

Talking to the NginX developers, I have clarified a couple of things:

1) HTTP/1.0 is in use by proxies, some mobile clients, and IE when
configured to use a proxy. So 1.0 appears to still account for a non-
trivial % of traffic on the web overall.
2) The NginX guys do not think that proxying via 1.0 will have a
significant performance impact unless the backend is extremely quick.
3) HTTP/1.1 support for upstream is in the works at NginX in any case,
with the motivation of coping with these superfast backends.

So it sesms that the answer to my OP is "Yes, there are many 1.0
clients still out there", and it's not the dead protocol that I
thought it was at all. Hence, I'm going to be fully correct and abide
by the HTTP spec, and keep the support for HTTP/1.0.

Reply all
Reply to author
Forward
0 new messages