> CGI has NOTHING WHATSOEVER to do with how a server decides if
> a file is executable or not.
You are correct that CGI *does not* specify how to determine if a file is
executable but let me clarify that CGI does (potentially) impact the URL.
If scripts are to be portable then the URLs themselves must be portable.
That means that CGI must also define how the server decodes the URL (to
some extent anyway).
Let's consider all the known schemes for determining "scriptability":
.cgi (or other magic extension)
The portability constraint requires that any scheme adopted must work on
all servers. So, if a scheme requires special processing by the server
(like ";" might, depending on how it's used) then it must be covered by
the CGI spec. e.g., http://server/foo;/arg1/arg2 is probably ok but
http://server/foo;arg1/arg2 is not.
There isn't anything wrong with adding special decoding in the server for
some format (e.g., forms), but it will require coverage in the CGI spec
and all CGI servers must support it (or else it's not really useful).