Просить Chrome обойти локальный кеш для XmlHttpRequest, как это возможно в Firefox?

Как некоторые из вас, возможно, уже знают, в Firefox / Chrome есть некоторые проблемы с кешированием для запросов, инициированных объектом XmlHttpRequest. Эти проблемы означают, что браузер не строго следует правилам и не отправляется на сервер для нового файла XSLT (например). В ответе нет заголовка Expires (из соображений производительности мы не можем его использовать).

Firefox имеет дополнительный параметр в «канале» объекта XHR, в который вы помещаете значение Components.interfaces.nsIRequest.LOAD_BYPASS_CACHE для явного перехода на сервер.

Существует ли что-то подобное для Chrome?

Позвольте мне немедленно остановить всех , кто рекомендовал бы добавить временную метку в качестве значения параметра GET или случайного целого числа - я не хочу, чтобы сервер получал разные запросы URL. Я хочу, чтобы он получил исходный URL. Причина в том, что я хочу защитить сервер от получения слишком большого количества различных запросов для простых статических файлов и отправки слишком большого количества данных клиентам, когда они не нужны.

Если вы нажмете статический файл со сгенерированным параметром GET (например, '? Forcenew = 12314 ') будет отображать 200 ответов каждый первый раз и 304 для каждого последующего запроса для этого значения случайного целого числа. Я хочу делать запросы, которые всегда будут возвращать 304, если целевой статический файл идентичен клиентской версии. Это, кстати, то, как веб-браузеры должны работать из коробки, но объекты XHR, как правило, вообще не отправляются на сервер, чтобы спросить, изменен ли файл или нет.

9
задан Milan Aleksić 14 July 2011 в 14:51
поделиться