Internal links are links on your page to any other of your website content. This could be another page, a different part of the same page or a file. There are two different forms of internal links absolute and relative.
An absolute link defines the location absolutely including the protocol, the server, the directory and the name of the document like this <a href=”http://www.seo-blog.com/tutorial.php”>SEO-blog tutorial</a> for example.
A relative link uses the fact that the server knows where the current document is and so the link can be made relative to that location and simplified. For example if you are placing a link, in the relative form, on a page to another page in the same directory it may look like this <a href=”tutorial.php”>SEO-blog tutorial</a>
There are many ways that relative links can be written depending on the location of the page you are linking to relative to the page that the link is on. Here are some examples /directory1/directory2/file2.html, directory1/directory2/file1.html, ./directory1/file3.html, ../../../directory1/file4.html
The search engine bots obviously have to treat relative links differently by interpreting them and then constructing the url. They do this with reference to the base url and if necessary the url of the current page.
In practice search engine bots have no problem interpreting relative links provided that they are syntactically correct and adhere to RFC 1738, RFC 1808and RFC 2396 If a search engine bot does misinterpret a relative url because of incorrect syntax then it can become really confused and this is why some SEOs prefer to use absolute rather than relative urls. There is no practical downside to using absolutes unless you are testing the site on your PC or a different server, in which case absolutes will not work unless you have have a page up at the destination url.
The best advice is to use absolutes if it does not create any problems for you because it is better to keep things simple for the search engine bots and because they make a site less vulnerable to page jacking.
Irrespective of whether you choose relative or absolute links the most important thing is to use the appropriate anchor text. Internal links are links that you have direct control over and you should be using the keywords that your page has been optimized for in the anchor text for links to that page. For example:
<a href=”http://www.seo-blog.com”>Search Engine Optimisation for Site Owners and Small Businesses</a>
is much better than…
<a href=”http://www.seo-blog.com”>Home Page</a>