The current CVS version says that:
“Unless set through |setRequestHeader()
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2006/webapi/XMLHttpRequest/Overview.html?rev=1.176&content-type=text/html;%20charset=iso-8859-1#setrequestheader>|
user agents /should/ set the |Accept| and |Accept-Language| headers as
well.” 
This was originally
“it /must not/ automatically set the |Accept|.” 
Why was this changed?  Why should user agents pretend that they know what
kind of resource the user expects by setting an Accept header that is
unreliable?  FWIW, Internet Explorer and Safari set the (reasonably
acceptable */*), but it would be better to leave it out entirely.  Also see:
http://www.grauw.nl/blog/entry/470
~Grauw
--
Ushiko-san!  Kimi wa doushite, Ushiko-san nan da!! 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Laurens Holst, student, university of Utrecht, the Netherlands. 
Website: www.grauw.nl.  Backbase employee; www.backbase.com.