Common Gateway Interface (CGI) is a standard for interfacing external applications with information servers, over HTTP and Web servers. A plain HTML document that the Web daemon retrieves is static, which means it exists in a constant state and will never change, basically this is simply a text file. A CGI program, on the other hand, is executed on-the-fly i.e. in real-time, so that it can output dynamic information. CMS - content management systems such as Moodle and Joomla are good examples of CGI and work using a combination PHP & CGI.