[plt-scheme] Problems fetching page

From: Anton van Straaten (anton at appsolutions.com)
Date: Sat Apr 24 18:05:18 EDT 2004

Robby Findler wrote:

> At Sat, 24 Apr 2004 14:33:10 -0400, "Neil W. Van Dyke" wrote:
> > I believe HTTP protocol spec requires the CR to be there (although IIS
> > is probably forgiving).
>
> Yes, I think that the CRLF is required. Here's the rfc:
>
>   http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5
>
> I'm not sure which of the \r\n's (or all of them) cause the server to
> change it's behavior (the previously mentioned line is in the body of a
> procedure passed to for-each), but they all seem to be required.

My test indicated that the critical point is on the GET request line.  But
Neil's right, it looks more as though the server can't handle certain
request packet splits.  It seems that if the request line "GET /
HTTP/1.0\r\n" is split (by using two PLT DISPLAYs instead of one) anywhere
up to and including the period, it works.  If it's split at the "0" (offset
13) or at the "\r", it fails.  There's some funky logic in that server
somewhere, maybe changing state once it's sure that it's dealing with
HTTP/1.x, and then getting confused when a packet boundary messes with a
hardcoded preconception about the state of the input.  (Maybe it's an order
of eval bug ;)

The problem might be due to a transparent proxy (or not so transparent, in
this case).  I notice that the penultimate host on the route to www.drv.dk
is 213.173.240.30, which responds on port 80, but not with a normal HTTP
response.

Anton



Posted on the users mailing list.