From: Francisco J. C. T. <fjc...@vi...> - 2004-07-07 08:57:16
|
Hello, is there any kind of support to ETag cache implemented in spyce?=20 I think it would be a nice feature and perhaps I could try implementting it= =2E=20 Any ideas to start? Cheers. paco=20 =2D-=20 Premature Optimization is the root of all evil (Donald Knuth)=20 =2D Yo tambi=E9n quiero una Europa libre de Patentes de Software - =2D------------------------------------------------------------- EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es=20 =2D------------------------------------------------------------- |
From: Francisco J. C. T. <fjc...@vi...> - 2004-07-14 14:07:34
Attachments:
etag.py
|
Hello, I have implemented the etag support as a spyce module. It's only for testin= g=20 purposes. Example: spyce file: =2D----------------------o----------------------- [[.import name=3Detag]] <html> Just a test </html> =2D----------------------o----------------------- When you import etag module a http header (ETag header)is added to the outp= ut=20 of your spyce script. The next time your browser ask for the same page to t= he=20 server, it will send the header 'If-None-Match'. The server will check the= =20 etag given and the one it has computed and when both values will be the sam= e,=20 it will send a 'Not Modified' http response. Example: =46irst time: =2D---------------------- GET /cgi-bin/main/main.spy HTTP/1.1=20 Host: 192.67.79.171=20 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040227= =20 =46irefox/0.8=20 Accept:=20 text/xml,application/xml,application/xhtml+xml,text/html;q=3D0.9,text/plain= ;q=3D0.8,video/x-mng,image/png,image/jpeg,image/gif;q=3D0.2,*/*;q=3D0.1=20 Accept-Language: en-us,en;q=3D0.5=20 Accept-Encoding: gzip,deflate=20 Accept-Charset: ISO-8859-1,utf-8;q=3D0.7,*;q=3D0.7=20 Keep-Alive: 300=20 Connection: keep-alive=20 Cookie: current_page=3Dmain/300_Mstate; user=3Dadministrator;=20 session=3D7ef88d81a0ce8d6d7cf8a8d7c01d7498; language=3Den=20 HTTP/1.1 200 Ok Date: Wed, 14 Jul 2004 13:53:14 GMT=20 Server: Apache/1.3.27 (Unix) Debian GNU/Linux mod_gzip/1.3.26.1a=20 mod_python/2.7.8 Python/2.2.2=20 X-Spyce: Spyce/modpy_1.3.12 Python/2.2=20 ETag: "CTjpbS6wVaFs7SuUOMx8uQ=3D=3D"=20 Keep-Alive: timeout=3D15, max=3D91=20 Connection: Keep-Alive=20 Content-Type: text/html; charset=3Diso-8859-1=20 =2E.. page ... =2D---------------------- Second time: =2D---------------------- GET /cgi-bin/main/main.spy HTTP/1.1=20 Host: 192.67.79.171=20 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040227= =20 =46irefox/0.8=20 Accept:=20 text/xml,application/xml,application/xhtml+xml,text/html;q=3D0.9,text/plain= ;q=3D0.8,video/x-mng,image/png,image/jpeg,image/gif;q=3D0.2,*/*;q=3D0.1=20 Accept-Language: en-us,en;q=3D0.5=20 Accept-Encoding: gzip,deflate=20 Accept-Charset: ISO-8859-1,utf-8;q=3D0.7,*;q=3D0.7=20 Keep-Alive: 300=20 Connection: keep-alive=20 Cookie: current_page=3Dmain/300_Mstate; user=3Dadministrator;=20 session=3D7ef88d81a0ce8d6d7cf8a8d7c01d7498; language=3Den=20 If-None-Match: "CTjpbS6wVaFs7SuUOMx8uQ=3D=3D"=20 Cache-Control: max-age=3D0=20 HTTP/1.1 304 Not Modified=20 Date: Wed, 14 Jul 2004 13:53:14 GMT=20 Server: Apache/1.3.27 (Unix) Debian GNU/Linux mod_gzip/1.3.26.1a=20 mod_python/2.7.8 Python/2.2.2=20 X-Spyce: Spyce/modpy_1.3.12 Python/2.2=20 ETag: "CTjpbS6wVaFs7SuUOMx8uQ=3D=3D"=20 Keep-Alive: timeout=3D15, max=3D91=20 Connection: Keep-Alive=20 Content-Type: text/html; charset=3Diso-8859-1=20 =2D---------------------- I have tried to implement the same functionality as cgi_buffer.=20 http://www.mnot.net/cgi_buffer/ I have tested it only with mozilla. I'll try to brush up the code the next= =20 month. Comments are welcome. Bye, paco =2D-=20 Premature Optimization is the root of all evil (Donald Knuth)=20 =2D Yo tambi=E9n quiero una Europa libre de Patentes de Software - =2D------------------------------------------------------------- EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es=20 =2D------------------------------------------------------------- |