lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LYNX-DEV Re: Internet access (fwd)


From: Klaus Weide
Subject: Re: LYNX-DEV Re: Internet access (fwd)
Date: Tue, 13 May 1997 10:11:00 -0500 (CDT)

On Tue, 13 May 1997, Larry W. Virden, x2487 wrote:

[...]
> Writing:
> POST /cgi-bin/uncgi/search HTTP/1.0
> Host: www.midwinter.com
[...]
> Referer: http://www.midwinter.com/usox/showroom.html
> Content-type: application/x-www-form-urlencoded
> Content-length: 161
>  
> _Platform=PC+%28DOS%2FWindows%29&Title=&Version=&Publisher=&Medium=Any&Operator
> =Less+than&Price=&Currency=US+Dollars&ShowAll=on&Method=Price+%28cheapest+first
> %29----------------------------------
> Sending HTTP request.

Note that that's exactly 161 character in the request body (mangled by my 
quoting)
before the ------ (which is not sent, just a separator shown for the TRACE).

Lynx is sending that, as it should, without appending anything, and then
waits for the response. But the response never comes.

Try to repeat that "by hand" - you don't need to type or paste in all the
request headers, but at least content-type and content-length, then an
empty line, then all the URL-encoded body (all as shown above) up to 
the last %29 befor the ----- separator.  Then press Enter.

telnet www.midwinter.com 80
POST /cgi-bin/uncgi/search HTTP/1.0
Referer: http://www.midwinter.com/usox/showroom.html
Content-type: application/x-www-form-urlencoded
Content-length: 161

_Platform=[....one line too long for a screen 
line.............]cheapest+first%29

The server now sends the response.

I believe the server (or maybe just a CGI script there?) needs to be fixed,
because it is waiting for a CRLF (line end) before it processes the request
body.  Note that clients are not supposed to send that extra CRLF, and that
it is a bug to do so.  It is explicitly mentioned as a bug in the HTTP 1.1
specs (the only occurence of the word "buggy", so it's easy to find...).
Where the request ends is strictly determined by the Content-length header.
When the server has receives as many bytes as indicated in Content-length,
it has to process what it got and not wait for anything else.

Earlier versions of Lynx up to 2.6 did send the extra line-end.
This was the change, IIRC:

10-19-96
* Tweaks of POST content submissions in HTTP.c, based on patch from
  KW. - FM

I am not aware of any problems this has caused with other sites or
servers up to now.  I do think that going back to the old (invalid)
behavior would cause problems, including occasional resets of connections
(but rare, so they would likely be discounted as network unreliability).

By the way, the server identifies itself as

Server: Zeus/1.2.1_Eval

I think (if my analysis is right) this should influence the evaluation...

  Klaus


;
; To UNSUBSCRIBE:  Send a mail message to address@hidden
;                  with "unsubscribe lynx-dev" (without the
;                  quotation marks) on a line by itself.
;

reply via email to

[Prev in Thread] Current Thread [Next in Thread]