asynchat usage in Zope & terminators? (not short!)
[If this is a known topic please point me to the right thing to search for in the archives]. I've been having some strange intermittent problems with Netscape and the POST method -- never really reproducible and most annoying. The other day I was trying to chase them with Shanes tcpwatch (as a change from ethereal) and I noticed tcpwatch suffering from the same problems. Aha!! To be specific: on occasion the data for a POST transaction was not showing on the display. This matches the problem I've been having with N'scape & Zope: sometimes a POST transaction would just kind of hang. I'm beginning to think that I've traced this down to N'scape not putting any form of terminator after the POST data string -- this appears to mean that the data gets caught in the input collection scheme of asynchat and doesn't get passed up to the next layer for processing until later (if any further traffic occurs on that connection) or never (if the client starts a new connection for the next request). I'm no guru on the http protocol specs. -- can anyone tell whether terminators are required (counted in the content-size header of course) or not. I couldn't find a statement to this effect. If they aren't required (and stherefore ome clients may not send them) how is Zope supposed to deal with this? Is the length from the content-size header somehow fed forward -- once the header has been received of course -- into the asynchat buffering logic so that it can know when to pass the current 'bag of bytes' up to the application layer? Or does the mechanism quietly assume a sufficient density of terminators (which seem to trigger an end of the buffering). Is there a timeout somewhere in there? I'm planning a session of looking through the code to check this out but it's sort of a complex area and I'm looking for a head start to save time, if anyone has already traveled this route. Alos, as it doesn't seem to be reproducible, does anyone know of documented behaviours of browers in this area? To be absolutely fair, this particular (bad) occurence involves the Flash plugin too (which probably means it's M'medias fault); but I have seen it in the past without Flash involvement, and there seems to be a constant level of moaning about Netscape oddities here too. Thanks in advance, Nigel.
Hi Nigel, You might look at http://zope.nipltd.com/public/lists/zope- archive.nsf/ByKey/106DEDC679A71453 In my experience Zope get's the POST even if tcpwatch doesn't see the "end". -steve On Thursday, August 16, 2001, at 12:29 AM, Nigel Head wrote:
[If this is a known topic please point me to the right thing to search for in the archives].
On Thursday 16 August 2001 12:55, you wrote:
Hi Nigel,
You might look at
http://zope.nipltd.com/public/lists/zope- archive.nsf/ByKey/106DEDC679A71453
Thanks Steve, that's one data point then. If this behaviour isn't the reason for the POSTS hanging then I'm going to get a bit depressed -- it still happens and I need to look for a new cause, if you are right! N.
Hi Nigel, I've *never* seen this behavior with POSTs from Netscape... and I've done a *ton* of posts from Netscape. Do you see it in the ZMI? -steve On Thursday, August 16, 2001, at 11:28 AM, Nigel Head wrote:
On Thursday 16 August 2001 12:55, you wrote:
Hi Nigel,
You might look at
http://zope.nipltd.com/public/lists/zope- archive.nsf/ByKey/106DEDC679A71453
Thanks Steve, that's one data point then. If this behaviour isn't the reason for the POSTS hanging then I'm going to get a bit depressed -- it still happens and I need to look for a new cause, if you are right!
N.
On Thursday 16 August 2001 18:33, you wrote:
Hi Nigel,
I've *never* seen this behavior with POSTs from Netscape... and I've done a *ton* of posts from Netscape. Do you see it in the ZMI
No, ZMI is fine. I use Netscape nearly all the time for that so I'm not claiming it's a generic problem. Like I said, this time (which I suppose is the only one I can be sure I haven't misremembered -- old age you know), the problem has cropped up with the Flash5 plug-in running in Netscape vs. the Flash5 control in IE ... I'm going to write me some simple python clients scripts where I have absolute control over what's sent and see where that gets me ... I'm still not convinced that I understand why Zope behaves differently to tcpwatch :: unless of course the asynchat in Zope is not the same as the core Python one .... maybe a diff session is in order here ... N.
participants (2)
-
Nigel Head -
Steve Spicklemire