J. Peng wrote:
> I'm still confused why we need a path_info for the additional info to
> CGI/modperl scripts?
> Generally under CGI we say x.cgi?key=value to pass arguments, under
> modperl handler we say /myHandler/?key=value to do it, or using POST
> method.
> Under what case we use path_info?

How about this for an explanation. In the first scenario with the ?,
you are passing arguments explicitly using key/value pairs as if it was
part of the URL sent by the web browser. In the second scenario,
nothing is being passed as key/value pairs. Instead, the server
searches up/down the directory hierarchy until it finds a match and
everything after the match becomes the argument.

In the first scenario when you are splitting the path into key/value,
you need to know where to split it. How? Perhaps by doing a file test
with each split yourself? In the second case, you don't need to worry
about it.

Not a very technical answer, but maybe an easy way of thinking of
things. The second scenario also makes it possible for Google, etc. to
index your web pages since it is a "real" URL. In the first case, it is
possible, but not as straight-forward.