Изменение на стороне сервера для отключения Firefox Race Cache with Network (RCWN)? - PullRequest
0 голосов
/ 09 июля 2020

Я знаю, что в моей копии Firefox можно отключить RCWN, но я пытаюсь выяснить, есть ли способ на стороне сервера сказать всем Firefox в мире не использовать RCWN против определенных ресурсов. ?

Наше приложение использует облачное хранилище файлов, и с нас взимается плата за сетевой трафик c. Мы настроили сервер для отправки соответствующих заголовков кеширования, чтобы браузеры загружали изображения (потенциально очень большие) только один раз, а затем загружали их из кеша, чтобы с нас не взималась плата снова и снова, когда кто-то перезагружает определенную страницу. на нашем веб-сайте.

Это очень хорошо работает в Chrome, но Firefox имеет функцию под названием Race Cache With Network. RCWN позволяет Firefox пробовать загрузку из кеша, но одновременно загружать из сети, и тогда выигрывает тот, который закончит первым. Но это означает, что каждый пользователь с FF будет постоянно повторно загружать эти большие изображения, даже если они кэшированы, что означает, что мы должны платить за сетевой трафик c, даже если у них есть совершенно хороший кеш изображение.

Я бы предположил, что кэш может загрузить файл png размером 22 МБ быстрее, чем это делает сеть, но инспектор FF говорит, что загрузка все еще занимает около 8 секунд во время гонки, и загрузка по сети выиграла. И даже если загрузка по сети проигрывает кешу, он все равно загружал большую часть или все изображение.

Есть ли какие-нибудь заголовки HTTP-ответа, которые мы можем добавить, чтобы сообщить FF не использовать RCWN с определенными ресурсами?

Вот пример заголовков, которые мы отправляем обратно:

Content-Type: image/png 
Expires: Sat, 06 Jul 2030 21:06:51 GMT 
Last-Modified: Tue, 07 Jul 2020 05:21:42 GMT 
Pragma: cache 
Cache-Control: max-age=315360000, private 
Content-Disposition: inline; filename="bob-woodward-book-trade-deficits-lodestar.png" 
...