Subject: Question on proxy/client behaviour

From: "Keith Hoffman" <[email-masked]>
Date: Mon, 24 Apr 2000 12:59:39 -0500

During testing of various proxy servers I have found one that exhibits what I believe is bad behaviour.  I am writing this group to see if there is any kind of concensus on this.

The proxy server in question is http 1.0 compatible.  When a client sends a http 1.1 request it will modify it to use http 1.0 going to the web server.  The web server responds fine to the request, but when the proxy forwards the response to the client, the client doesn't show the web page. 

I have traced this and found that proxy is dropping the tcp PUSH flag from SOME of the response packets coming back from the server.  These "bad" packets only have the tcp ACK flag.  Response packets that are read ok by the client contain both the PUSH and ACK flags.

To me it seems that there is definitely a problem on the proxy as it should consistently send either just the ACK or both the ACK and PUSH flags with all responses.  However, should the client still try to read the payload of a packet as http data even if there isn't a PUSH flag associated with that packet?

I've looked through various RFC's and haven't found anything that says specifically if the client should or shouldn't do this.

Thanks,

Keith

---

From: "Scott Lawrence" <[email-masked]>
Date: Mon, 24 Apr 2000 14:45:05 -0400

> From: Keith Hoffman <[email-masked]>
> To: [email-masked]
> Subject: Question on proxy/client behaviour

> The proxy server in question is http 1.0 compatible.  When a
> client sends a http 1.1 request it will modify it to use http
> 1.0 going to the web server.  The web server responds fine to
> the request, but when the proxy forwards the response to the
> client, the client doesn't show the web page.

> I have traced this and found that proxy is dropping the tcp PUSH
> flag from SOME of the response packets coming back from the
> server.  These "bad" packets only have the tcp ACK flag.
> Response packets that are read ok by the client contain both the
> PUSH and ACK flags.

The TCP PUSH flag shouldn't have any effect on which parts of the
response the client sees (for some implementations it's possible
that it would affect the size and timing of the reads, but in the
end there should be no difference).  Look for some other
difference. 

--
Scott Lawrence      Director of R & D        <[email-masked]>
Agranat Systems   Embedded Web Technology   http://www.agranat.com/