Of course, the traditional method is to let the filesystem and your webserver work out the urls. E.G., www.example.com/index.html -> /var/www/public_html/index.html
But I've noticed a trend in which, as opposed to letting the webserver do the mapping for you, you do it yourself (e.g., Rails and its routes config file, so /index is mapped to app/controllers/index.rb or w/e you set it up to be).
Now I realize that one of the advantages of the latter approach is that nobody can view your source code if the server starts failing to execute stuff or w/e; but for compiled CGIs, this obviously isn't a problem.
Is there any real reason (REST-related ideas aside) to parse the URLs yourself? (I have a feeling that it's slower than letting Apache do it.)