I've always wondered about this and never found a good solution.
But this question reminded me of it.
When I have a URL on my website it can be displayed and accessed any of the following ways:
http://www.somesite.com/subdirectory http://www.somesite.com/subdirectory/ http://www.somesite.com/subdirectory/index.htm http://www.somesite.com/subdirectory/index.html http://www.somesite.com/subdirectory/index.php http://www.somesite.com/subdirectory/index.asp http://www.somesite.com/subdirectory/some-relevant-keywords http://www.somesite.com/subdirectory/some-relevant-keywords.htm http://www.somesite.com/subdirectory/index.php?page=some-relevant-keywords http://www.somesite.com/subdirectory/?page=some-relevant-keywords http://www.somesite.com/subdirectory/?page=some-relevant-keywords&even=more-keywords
Now, I can understand the merits of adding keywords in the URL. Even the most basic SEO guide will mention to do just that. ... but for the sake of sanity, clarity, ease of reading, ease of use, and so on, including web compliance ...
Is it preferred to have a file-extension or not?
Really, deep down my logic tells me: yes, it should. The reason being is this stems back to the days of the past when the internet was mostly USENET, FIDONET, FTP and GOPHER.
See, if a URL has no filename, then it normally is considered a directory. This is where index.htm came about, because this by default lists the directory if no index file is found. However, soon enough, web programmers started overriding this and using index.htm to actually serve the content of that web directory as a page. The main difference, was markup language was added in, and this was parsed in the browser. With this markup language, the
Content-Type:text/html; tag in the response header became the indicator to what filetype it was for any file. HTML seems to be the only "filetype" that just doesn't have consistently named extensions, except for when they are saved.
Unfortunately, once web pages became the main thing, it became a security error to actually display the directory contents, so everything stayed hidden with only the actual URL content being displayed.
Not to mention the cross-platform file-naming wars.. windows based require a 3 or less digit extension, and unix/mac can have more. So should it be
NONE and let the platform decide?
So in essence, I guess what I am trying to figure out is beyond SEO and dealing more with aesthetics and web compliance.