What are CGI scripts used for these days?

Dirk picture Dirk · Jul 22, 2009 · Viewed 14.9k times · Source

I'm pretty well up to speed on general web programming languages, but one of the tools I'm working with right now is in CGI. All I can tell is that CGI scripts are quite slow.

Is CGI still commonly used today? If not, what has it been replaced by?
Are there any niche functions in which CGI is still alive and actively used?

Answer

Artyom picture Artyom · Jul 23, 2009

CGI is protocol, it is most basic and most standard way to create dynamic pages.

There are many cases where it is useful:

  1. When you want to create, a basic application in a language without mod_XYZ, let's say C or Haskell, that may be computation intensive.
  2. In embedded systems, where memory is expensive and you prefer to spawn a CGI script rather then holding it in memory all the time.
  3. On some hosting services where you want to give flexibility to write server side software in any technology you want, but on the other hand do not hold president applications in memory using FastCGI (for example Sourceforge hosting).
  4. The loads on CGIs are low so you don't care about spawning applications per request. For example, in blogs like MoveableType, only updates are done via CGI, all the rest is served via static pages, which CGI script changes when needed. So the cost of spawning CGI script is very low.
  5. When most of your content is static pages and you want to serve it with server like thttpd, so very few operations that are done can be done via CGI that it supports.

So... CGI is simple but still very useful API, allowing to do stuff simply.

For example, the script that shows uptime of your server

#!/bin/bash
echo Content-Type: text/plain
echo
uptime

What can be simpler, easier and less web-server dependent?