when your website opens without www is called canonical issue it can be solved by two ways for IIS server sites we have to put script on the home page under head section and second for Apache server sites it can be solved with the help of .htaccess file, we have to upload this file on the root it contains a PHP code...
Google consider wesites "http://www.yourdomain.com" and "http://yoursite.com" as a different websites. when we enter only website domain without www it cannot open. this is called canonical error. we can fix it in webmaster tools bye using 301 redirect and 302 redirect.
when you do not specify a preferred url out of those pages that have the same content in your website
Canonicalization is the process of picking the best url when there are several choices, and it usually refers to home pages. For example, most people would consider these the same urls: www.example.com example.com/ www.example.com/index.html example.com/home.asp But technically all of these urls are different. A web server could return completely different content for all the urls above. When Google “canonicalizes†a url, we try to pick the url that seems like the best representative from that set. (c)
In my opinion when your site open in both URl.like "http://www.abc.com" and "http://abc.com" is known as canonical error.Sometime anonical URL is also referred as preferred domain.