In this chapter, we examined the problem of web pages with dynamic content and its solution. We took an in-depth look at the CGI standard. We examined how web servers pass information through stdin
and environment variables to an external program and how the output from a program on stdout
is collected and sent back to clients. We also learned that CGI is available in Google App Engine. Then, we examined the problems with CGI, with the biggest problem being that it spawns a process for every request, which is quite expensive in terms of time. We looked at the possible solutions and WSGI in particular, which is Python's standard way of interfacing with web servers. We examined how concurrent requests can be processed in WSGI and the implications that it has on our code.
Next, we turned our attention to Google App Engine's URL handling and examined how we can direct different URL patterns to different scripts. We looked at how we can render templates by filling in values so that we...