Graham Dumpleton
grahamd at dscpl.com.au
Sat Oct 28 08:10:21 EDT 2006
Try not setting a content length. You might be getting the content length wrong and screwing up any HTTP 1.1 pipelining of requests. Ie., overlength data from a prior request is coming through as start of subsequent request. Graham On 28/10/2006, at 8:40 PM, Thimios Katsoulis wrote: > Hello all. > I am developing a site in mod_python and I am facing a > problem. > The nasty thing is that this problem does not occur > all the time . > The problem is that firefox renders the page and > displays it as text . So what you see is the html > source and not the rendered page. > This problem occurs once in many times . When you hit > refresh the page renders normally. > I have set content_type to "text/html". > Here is the problematic output as seen on firefox: > > NoneHTTP/1.1 200 OK > Date: Sat, 28 Oct 2006 10:13:32 GMT > Server: Apache/2.0.55 (Ubuntu) mod_python/3.1.4 > Python/2.4.3 PHP/5.1.2 > Content-Length: 1974 > Keep-Alive: timeout=15, max=95 > Connection: Keep-Alive > Content-Type: text/html; charset=UTF-8 > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 > Strict//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> > > <html xmlns="http://www.w3.org/1999/xhtml" > xml:lang="en"> > > <head> > > ..... > and the html source continues. > > If you hit refresh , I repeat , page renders normally. > This behaviour is seen on a 1.0.8 firefox on Suse > linux 10.0 on a machine on my local lan. > The test web server is also on my local lan and is > Ubuntu 6.0.6 with mod_python/3.1.4 as you can notice > on the header. > Please notice also the first line of the output > "NoneHTTP/1.1 200 OK" . > > Here are the settings of the site : > ----------------------------------------- > <VirtualHost *> > ServerAdmin webmaster at localhost > ServerName www.evropi.com > DocumentRoot /var/www/evropi > <Directory /var/www/evropi> > Options None > AllowOverride All > Order allow,deny > allow from all > > SetHandler mod_python > PythonHandler start > PythonDebug On > > </Directory> > > > ErrorLog /var/log/apache2/error.log > > # Possible values include: debug, info, > notice, warn, error, crit, > # alert, emerg. > LogLevel warn > > ServerSignature On > > > > </VirtualHost> > ---------------------------------------- > Please notice also that this is not a real domain name > . > It's just used for development . I am testing a site > by modyfing my local lan's machine's /etc/hosts files. > > Here is the start.py python script : > ---------------------------------------------------- > import time > from mod_python import apache > def handler(req): > #start=time.time() > req.content_type = "text/html" > from lib import SiteBuilder > reload(SiteBuilder) > siteBuilder=SiteBuilder.SiteBuilder(req.uri) > data=siteBuilder.BuildPage(req) > #diff=time.time()-start > #req.write("%f" % (diff)) > data=str(data) > lenData=len(data) > req.content_type = "text/html" > req.set_content_length(lenData) > req.write(data) > > return apache.OK > > ----------------------------------------------- > > I have noticed this behaviour from other pc's as well > , mostly on Firefox. > But this does not happen all the times , it is > something random , and as a developer I consider > random problem occuring very nasty . > Anyone has seen this behaviour before ? > Should I send http headers before calling req.write()? > I 'll appreciate any help . > > Thanks. > Thimios Katsoulis > > > > > > > > > > > ___________________________________________________________ > Χρησιμοποιείτε Yahoo!; > Βαρεθήκατε τα ενοχλητικά μηνύματα > (spam); Το Yahoo! Mail > διαθέτει την καλύτερη δυνατή > προστασία κατά των ενοχλητικών > μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python
|