Planning Interactive Web Systems
A web system is effectively a programmed method for generation of linked content, usually (but not necessarily) presented with some degree of structural uniformity. For web pages, the unifying theme is usually the page layout, but in XML could be the presentation style, possibly selected from a number of styles defined in cascading style sheets.
The structure of web pages is often hierarchical, with a group of pages embellishing a style inherited from the pages above it in the conceptual hierarchy. One of the features of Zope is its capability to inherit page structure, overriding as necessary within a tree-structured hierarchy.
You have by now seen enough Python code that one more HTTP server would be neither here nor there. It may be that your current web services run external programs as CGIs as a matter of policy. In that case, you must be prepared to write your systems as CGI scripts, which will make them slower and perhaps more complex.
Generally, it is best to try to separate the HTTP service from the content generation. The architecture of web systems is such that HTTP carries HTML, XML, and so on, so the two are at different layers in the software architecture.
You may need to understand your server environment closely if you want to use techniques like persistent CGI, which can improve performance. However, just as in databases, the early stages of design are too soon to start considering physical models; it is often better to design the system in a simple way and then look at how to improve performance if that proves necessary. Because you now know that you can write web servers in pure Python, thanks to the socket library, you need not fear the artificial constraints of a server framework.