И как запросить только заголовок
this.readyState == this.HEADERS_RECEIVED
оборвать запрос.как узнать загружена текущая страница из кэша браузера или из сайта?Я не знаю, разве что время засекать - ответы из интернетов как правило дольше приходят чем из кэша. Но зачем это, если вы добавляете параметр для обхода кэша?
var url = location.pathname + '&foo=' + Math.random()
location.pathname - DOMString, содержащий первый '/' после хоста с последующим текстом URL.