Now, while most people have been taught to just use relative links, it is actually not the best for both search engines and preventing people from scraping your site content. Some people tend to use relative links because the shorter code can decrease a page's download time and decrease the amount of typing they do. However, a millisecond is about all that is saved this was as far as load time and the majority of users these days are not on a 14K dial-up anymore.
At the Search Engine Strategies conference in Chicago last week there was a Q&A session that had top engineers from MSN, Google, Yahoo & Ask as well as other top figures in the SEO world. A question was posed as to which type of links were preferred, all of the search engines agreed that an absolute link is the way to go. I agree with them not just because they are the experts but because their reasoning makes sense.
People who go to a site by typing in the URL (although many people are just typing the url into a google search and then clicking the first result) may enter the www or may not (e.g. www.masterlink.com vs masterlink.com). To a user, either one makes sense as they see the pages the same. Now, when search engines crawl links they don't want to crawl the same thing over and over again. If they crawl a link to the non www site, then every page linked from there (if it has relative links) will keep the spider on the same non www URL. Now, when they crawl through a link with the www in front of the domain - they see this as a different page and will index all pages again. Essentially they are giving each page a rank twice and crawling twice as much.
So, if you put all absolute links and a spider comes in from a link that doesn't have the www, you will guide them back to the www pages and then only rank those pages and save them the time of crawling a site twice or more. This also stops what is called PageRank bleed - meaning that the one page gets all the juice and isn't spread across two versions (the www & non www) of the same page. This is can actually be seen on our site (no, we are not perfect here, but always work to improve ourselves) if you check the PageRank of http://masterlink.com/news.cfm and http://www.masterlink.com/news.cfm.
Please follow this link and paste each of the above URLs into the box to see the difference in ranks.
Another thing that should be done is for all requests for a website without the www to be redirected to the www version of the site. So if I typed in masterlink.com there would be a 301 redirect to www.masterlink.com which is just a back up guarantee that they hit the right pages. Search engines can sometimes still get mixed up so this solves this canonicalization problem.
Now, some of this may sound crazy, I agree to an extent, but ultimately search engines drive the majority of Internet traffic (~87%) so playing by their rules can only enhance the opportunity for good rankings.