TheOptimizationIdiot - 6:53 pm on Apr 10, 2013 (gmt 0)
Obviously this is meaningless in the case of index.html pages, because it's the same physical file. Same goes for some other canonical problems, like static html pages with garbage attached to the URL. You can only say "rel=canonical" if you don't mind having a page link to itself. (As a user, I find this seriously annoying and confusing. "Wasn't I here already?")
That makes no sense.
If you put <link rel="canonical" href="http://www.example.com/dir/"> on dir/index.html Google will "get it" and consider dir/ the canonical version.
If you put <link rel="canonical" href="http://www.example.com/dir/html-page.html"> on /dir/html-page.html and somehow Google requests /dir/html-page.html?somevar=someval your user will never know and Google will "get it" and consider the parameterless page the canonical.
It's not at all useless to put it on there and you don't need to link a page to itself to use it, so there's no reason your users should even know it's there, unless they look.
You can only say "rel=canonical" if you don't mind having a page link to itself.
Where did you get that idea?
You don't even need it on the page, you can serve it in the header.