Подтвердить что ты не робот

Запрос HTTP HEAD в Javascript/Ajax?

Возможно ли выполнить запрос HTTP Head только с использованием XMLHTTPRequest в JavaScript?

Моей мотивацией является сохранение полосы пропускания.

Если нет, возможно ли это подделать?

4b9b3361

Ответ 1

Просто, используйте метод HEAD вместо GET или 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();
}

Это лишь краткий пример, показывающий, как использовать метод HEAD. Для производственного кода могут потребоваться более мелкозернистые обратные вызовы для разных состояний результата (успех, сбой, тайм-аут) и могут использовать различные обработчики событий (onload, onerror и ontimeout, а не onreadystatechange).

Ответ 2

Объект XMLHTTPRequest должен иметь

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

определенных на нем