David M Johnson wrote:
On May 3, 2006, at 4:49 PM, Allen Gilliland wrote:
I know what you are saying and part of my mind wants to agree, but
ultimately I still have to say "yes" .html is an implementation
detail. A url is meant to point to a resource and that's it, how that
resource is defined is an implementation detail.
Also, there are plenty of reasons why a single resource (URL) should
be available in multiple content types. That is seldom used these
days, but it makes a lot of sense. Along the same lines there is the
somewhat crazy example of, "what if XX years from now you want that
same url to return something other than HTML?"
Right. The client sends an HTTP accepts header and the sever uses that
to determine what to send back. Content negotiation.
I just exchanged a couple of emails with Sam Ruby. He likes the idea of
extensions and uses them in his blogging software, but only to indicate
content type. He says that web purists argue that extensions are not
necessary, but that content negotiation doesn't work in practice.
Perhaps in XX years, when we're doing what you suggest, content
negotiation will have been fixed.
It sounds to me like this is the crux of the decision then. One the one
hand the HTTP protocol is supposed to allow for content negotiation via
HTTP headers so that we don't need file extensions. However, file
extensions still seem to offer some practical benefits based on the way
many sites/services work on the web today.
I tend to consider myself more on the purist/theorist side in issues
like this. Everyone has a different approach, but I tend to like the
idea of engineering a solution to the ideal way it would work whenever
possible and I try and refrain from making compromises that are
hacks/workarounds based on the current reality.
In any case, I think those of us following this discussion have enough
info to make an informed decision, so I suggest we try and pick a route
and move on.
My vote is still for NOT using file extensions.
-- Allen
And BTW, I'm not arguing for extensions here, just adding a data point
-- I really don't know what the right decision is.
- Dave