can anyone explain me why zope always adds the <base href="http://my.server.com/" /> to every HTML file it's serving. What's the purpose of this, and is it really necessary?
It's because when a browser accesses http://host/folder and http://host/folder/ your browser should understand the relative URL within your documents. Without the basehref, your browser will think that http://host/folder is a html-file, and prepend http://host/ to relative URLs. It will however understand that http://host/folder/ is a folder, and prepend http://host/folder/ to relative URLs there. So depending on the trailing slash, you might get different results.
By the way, is there an easy way to get rid of this if it's not necessary?
Put in your own, or edit python/ZPublisher/HTTPResponse.py if you *really* want to get rid of it. -jf