Other Server-Side Approaches
A CGI script runs as a new process each time a client requests it. Process startup time, interpreter initialization, connection to databases, and script initialization all add up to measurable overhead. On fast, modern server platforms, the overhead is bearable for light to moderate loads. On a busy server, CGI may not scale up well. Web servers support server-specific ways to reduce overhead, running scripts in processes that can serve for several hits rather than starting up a new CGI process per hit.
ASP (Active Server Pages) is a server extension leveraging a
lower-level library, ISAPI, and Microsoft’s COM
technology. Most ASP pages are coded in the VBScript language, but
ASP is language-independent. As the reptilian connection suggests,
Python and ASP go very well together, as long as Python is installed
with the platform-specific
ActiveScripting. Many other server
extensions are cross-platform, not tied to specific operating
The popular content server framework Zope (http://www.zope.org) is a Python application. If you need advanced content management features, Zope should definitely be among the solutions you consider. However, Zope is a large, rich, powerful system, needing a full book of its own to do it justice. Therefore, I do not cover Zope further in this book.
FastCGI lets you write scripts similar to CGI scripts, yet use each process to handle multiple hits, either ...