It is an executable server-side script. The info Following the ? are value pairs passing parameters back to the server-side script. The server-side script will then dynamically produce the page programatically. Other server-side script extensions are .pl, .cgi, .asp, .jsp, etc.
If you want to do web pages like that (and that approach gives you much more flexibility in what your site can do -- learn javascript first, then plunge into a scripting language like Perl or PHP. PHP is the simpler of the two to learn.