Solicitação HTTP HEAD em Javascript / Ajax?

É possível fazer uma solicitação HTTP Head usando apenas um XMLHTTPRequest em JavaScript?

Minha motivação é economizar largura de banda.

Se não, é possível fingir?

Fácil, basta usar o método HEAD, em vez de GET ou POST:

function UrlExists(url, callback) { var http = new XMLHttpRequest(); http.open('HEAD', url); http.onreadystatechange = function() { if (this.readyState == this.DONE) { callback(this.status != 404); } }; http.send(); } 

Este é apenas um pequeno exemplo para mostrar como usar o método HEAD. O código de produção pode precisar de retornos de chamada mais detalhados para diferentes estados de resultado (sucesso, falha, tempo limite) e pode usar diferentes manipuladores de events ( onload , onerror e ontimeout vez de onreadystatechange ).

Um object XMLHTTPRequest deve ter

 getAllResponseHeaders(); getResponseHeader("header-name") 

definido nele