Our friend Karl Dubost is asking himself two good questions... Do URLs have a meaning? Should URLs be readable? If you have followed what TBL has always said about it, the answer is no. URLs are adresses, not names; names are URNs. After all, if you don't speak french and I give you the address "10 rue du Pas de la Mule", that's a bit cryptic. Or if you don't speak swedish, "valhallavägen" means nothing to you, right? Similarly, "acounting.html.fr" means nothing to french readers if they don't speak english and don't understand the word "accounting".

Karl uses that argument to confirm URLs have no meaning. I am happy to object and believe exactly the contrary:

  1. First, if "accounting" means nothing in french, it is meaningful in english. The example is not "f14hjGhghjGX.html", it's "accounting.html". In at least one language, it is meaningful. And why is it a real word? Read below.
  2. Probably because humans are only humans, and it's probably the basis of human nature to give everything a meaning. URLs are not an exception here. You cannot expect people are not going to give a meaning to an address, in particular when that address must be human-readable to be published, copied, and so on. Right, URLs are used that way because we don't have URNs.
  3. And to be honest, usable URNs exist only in ISBN and TBL's dreams (well... and Amazon's ASINs). I am not sure we will ever see web user agents able to retrieve documents from URNs. Unless we switch to a system like AOL's but I think it is very unlikely...

As a conclusion, yes, I think URLs should be considered meaningful. Just like addresses. And yes, multiple addresses can target the same resource. Just like "rue de Mons" / "Bergenstraat" in Belgium. In Karl's example, the fr_FR version of accounting.html.en is accounting.html.fr. Why? The localization system on server side should allow accounting.html and comptabilité.html (please note the e acute) to be redirected to accounting.html.en and comptabilité.html.fr depending on user's preferences. Meaningful URLs are not bad; server configuration is;-)