--#-- Why, I was referred by you! --#-- Look! There were three GETS!

GET /home/httpd/html/index.html HTTP/1.0 ... GET /home/httpd/html/apache_pb.gif HTTP/1.0 ... GET /home/httpd/html/poweredby.gif HTTP/1.0
There were two GIF images embedded in the file (which happens to be Apache's "It Worked!" file to demonstrate that the httpd server is alive and well). The browser found both of them in the HTML and went right back to Kevin and asked for them. And look at this: Both GIF requests have a Referer line.

GET /home/httpd/html/apache_pb.gif HTTP/1.0 Referer: http://localhost:9000/home/httpd/html/index.html ... GET /home/httpd/html/poweredby.gif HTTP/1.0 Referer: http://localhost:9000/home/httpd/html/index.html
They were referred by the page that contained their references. No wonder you site is its own best referer. But what about the initial request, for /home/httpd/html/index.html?

GET /home/httpd/html/index.html HTTP/1.0 Connection: Keep-Alive ... ... ...
When a URL is entered from the keyboard, no browser I know of sends any Referer header. In fact, both RFC 1945 and RFC 2616 are explicit in saying that the browser "must not" send a Referer line when making a request originating from the keyboard. All browsers I know of also do not send a Referer header when traveling from a browser's built-in "Bookmarks" or "Favorites" list.

What shows up in the server's access log when there is no Referer header? Simply a dash: "-".

Remember this when you're massaging your log files to see where people are coming from. Most of what you'll see are GIF requests. And what you don't see is all the people who've memorized your URL or bookmarked it.

Kevin, in his final code format, is right here.