First off, .htm and .html are exactly the same if you didn't already know that. .php, .asp and .shtml are all ways of enhancing a regular .html page with commands that cause the server to insert files at various points, fetch parts of the page from a database, perform computations and so on.