Le 30.07.2010 18:55, Amos Jeffries a écrit :
An application (from Garmin to update GPS devices) is working when
directly connected to Internet, but not working when using the proxy.
In the log files, the last log line from this PC is :
1280491186.070 1083 172.16.1.103 TCP_MISS/417 1874 POST
http://rmu.garmin.com/Rmu - NONE/- text/html
And then, nothing more...
It seems the application is communicating thru a POST and XML files,
but what could be the reason that makes it not working when using the
proxy ?
The application is doing some other requests before this one,
including CONNECT on port 443...
It is using the HTTP/1.1-only header "Expect:". The HTTP/1.1 response to
these headers is a 100, a 417 or a 200 status code. It completely breaks
if the 100 status gets sent over any HTTP/1.0 software such as squid.
That's interesting I didn't know about that...
And if I read this :
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html, it looks like
some kind of HTTP 1.2 because it says "Many older ... HTTP/1.1
applications do not understand the Expect header. "
Squid is now just smart enough to identify those requests and follows
the RFC 2616 requirement of sending back the HTTP/1.1 417 try-again
response instead of wasting bandwidth ans server time before dying on
the 100.
If that is the last request that it dies on the client software is
broken in the way it handles the 417. It is expected to retry an old
HTTP/1.0 style POST with body data after receiving that status.
Ok if I understood correctly, my two next questions are :
1. Is there a way to verify if the client software is really broken
(this seems quite possible) ? For example tracing the packets ?
If I use for example Privoxy, can I see if it is broken or not ? I
suppose I have to see if after a "1.1 Expect", it is trying a 1.0 request ?
2. If the client software is broken, is it possible to make squid behave
in a way that would make the Expect header work ?
And after having found another of your posts, I think the answer to
point 2 is no ?
(http://www.mail-archive.com/squid-users@xxxxxxxxxxxxxxx/msg70631.html )
Because I am in an environment where this software MUST be used daily
and we really need squid to be used too...
Or if you had any other idea or suggestion, it would be really nice...
Denis