and that are transferred back to the server when page is revisited (data is sent back and forth in http header linescookies are more complex than program variables and are somewhat controversial and optionalbut they can offload some simple state retention tasks alternative models such as fastcgi and mod_python offer additional persistence options--where supportedfastcgi applications may retain context in long-lived processesand mod_python provides session data within apache html generation solutions third-party extensions can also take some of the complexity out of embedding html in python cgi scriptsalbeit at some cost to execution speed for instancethe htmlgen system and its relatives let programs build pages as trees of python objects that "knowhow to produce html other frameworks prove an objectbased interface to reply-stream generation ( reply object with methodswhen system like this is employedpython scripts deal only with objectsnot with the syntax of html itself for instancesystems such as phppython server pages (psp)zope' dtml and zptand active server pages provide server-side templating languageswhich allow scripting language code to be embedded in html and executed on the serverto dynamically generate or determine part of the html that is sent back to client in response to requests the net result can cleanly insulate python code from the complexity of html code and promote the separation of display format and business logicbut may add complexities of its own due to the mixture of different languages generalized user interface development to cover both basessome systems attempt to separate logic from display so much as to make the choice almost irrelevant--by completely encapsulating display detailsa single program canin principlerender its user interface as either traditional gui or an html-based web page due to the vastly different architecturesthoughthis ideal is difficult to achieve well and does not address larger disparities between the client and server platforms issues such as state retention and network interfaces are much more significant than generation of windows and controlsand may impact code more other systems may try to achieve similar goals by abstracting the display representation-- common xml representationfor instancemight lend itself to both gui and an html rendering againthoughthis addresses only the rendering of the displaynot the fundamental architectural differences of clientand serverside approaches emerging technologiesrias and html finallyhigher-level approaches such as the ria (rich internet applicationtoolkits introduced in and can offer additional functionality that html lacks and can approach the utility on gui toolkits on the other handthey can web scripting trade-offs