This Deitel™ article introduces the Common Gateway Interface (CGI), which allows Web servers to execute programs that generate dynamic content. We discuss the difference between client-side scripting and server-side scripting and the difference between static and dynamic Web content. We present the discussion in the context of two Python CGI programs. Readers should be familiar with basic python programming (e.g., functions, dictionaries and models) and XHTML. The code examples included in this article show readers programming examples using the Deitel™ signature Live-Code™ Approach, which presents all concepts in the context of complete working programs followed by the screen shots of the actual inputs and outputs.