[Zope3-checkins] SVN: Zope3/trunk/src/zope/app/session/api.txt Here be dragons + formatting

Stuart Bishop stuart at stuartbishop.net
Tue Jul 13 06:31:09 EDT 2004


Log message for revision 26441:
  Here be dragons + formatting


Changed:
  U   Zope3/trunk/src/zope/app/session/api.txt


-=-
Modified: Zope3/trunk/src/zope/app/session/api.txt
===================================================================
--- Zope3/trunk/src/zope/app/session/api.txt	2004-07-13 02:26:56 UTC (rev 26440)
+++ Zope3/trunk/src/zope/app/session/api.txt	2004-07-13 10:31:08 UTC (rev 26441)
@@ -4,18 +4,32 @@
 Overview
 --------
 
-Sessions allow us to fake state over a stateless protocol - HTTP. We do this
-by having a unique identifier stored across multiple HTTP requests, be it
-a cookie or some id mangled into the URL.
+.. CAUTION::
+    Session data is maintained on the server. This gives a security
+    advantage in that we can assume that a client has not tampered with
+    the data.  However, this can have major implications for scalability
+    as modifying session data too frequently can put a significant load
+    on servers and in extreme situations render your site unusable.
+    Developers should keep this in mind when writing code or risk
+    problems when their application is run in a production environment.
 
-The `IClientIdManager` Utility provides this unique id. It is responsible
-for propagating this id so that future requests from the client get
-the same id (eg. by setting an HTTP cookie). This utility is used 
-when we adapt the request to the unique client id:
+    Applications requiring write-intensive session implementations (such
+    as page counters) should consider using cookies or specialized
+    session implementations.
 
+Sessions allow us to fake state over a stateless protocol - HTTP.
+We do this by having a unique identifier stored across multiple
+HTTP requests, be it a cookie or some id mangled into the URL.
+
+
+The `IClientIdManager` Utility provides this unique id. It is
+responsible for propagating this id so that future requests from
+the client get the same id (eg. by setting an HTTP cookie). This
+utility is used when we adapt the request to the unique client id:
+
     >>> client_id = IClientId(request)
 
-The `ISession` adapter gives us a mapping that can be used to store 
+The `ISession` adapter gives us a mapping that can be used to store
 and retrieve session data. A unique key (the package id) is used
 to avoid namespace clashes:
 



More information about the Zope3-Checkins mailing list