Есть ли в Firefox какой-то секретный кеш для загружаемых файлов или как? - PullRequest
0 голосов
/ 15 мая 2019

Недавно у меня была небольшая загадка кэширования в том, что Firefox продолжал предоставлять мне «старую» (т.е. кэшированную) версию файла, несмотря на все мои усилия, чтобы заставить его использовать тот на удаленном сервере.

Вот настройка:

Setup

  • A Foswiki за веб-сервером Apache.Foswiki - это набор Perl-скриптов, выполняемых через CGI-модуль веб-сервера Apache.Вы можете прикрепить контент к вики-страницам.Они хранятся в файловой системе с использованием соглашения о версиях (ранее RCS использовалось для этого, но оно было заменено чем-то, что кажется более простым и надежным)
  • Нет прокси или кешеймежду Firefox и веб-сервером.
  • Я запрашиваю файл .ods из Foswiki, который был ранее прикреплен к странице Foswiki.
  • Firefox спрашивает: «Что Firefox должен делать с этим файлом?»,Я говорю это: «Открыть с помощью LibreOffice Calc».

Должно быть довольно простым.

Итак:

  1. Открыть my_content.ods в LibreOffice Calc.
  2. Редактировать.
  3. Сохраните измененный файл в моем домашнем каталоге.
  4. Прикрепите измененный my_content.ods к соответствующей странице Foswiki, таким образом увеличив версию приложения на одинincrement.

К сожалению, попытка загрузить обновленное вложение заново приводит к тому, что LibreOffice начинает работу со старой копией.Argh!Риск потери данных реален!

Я обнаружил, что после загрузки старая копия продолжает появляться в /tmp/mozilla_foouser0.Это можно легко проверить, проверив сумму md5 my_content.ods, my_content-1.ods и т. Д., Которые отображаются там.

Теперь возможно, что веб-сервер не сообщает Firefox, что файл обновлен.Но я должен быть в состоянии заставить Firefox обновить файл, а?

Я пытался:

  • Полностью удалить вложение со страницы FosWiki и заново установить новую версию.Результаты загрузки отображаются в старой версии.
  • Вручную удалите все файлы с /tmp/mozilla_foouser0 перед повторной попыткой загрузки.Результаты загрузки отображаются в старой версии.
  • Перезапустите веб-сервер.Нет.
  • Очистить LibreOffice "последние файлы".Результаты загрузки отображаются в старой версии.
  • Очистите кэш Firefox «Данные автономного веб-сайта» в «Журнале».Результаты загрузки отображаются в старой версии.

Только полное удаление «Просмотр и загрузка истории» Firefox приводит к отображению обновленного файла.Но это загадочно - откуда Firefox получает старый файл?Это не из /tmp/mozilla_foouser0 ... так откуда?

Обновление

Я включил «судебную регистрацию» на веб-сервере Apache и очистил /tmp/mozilla_foouser0.

Когда я загружаю вложение, копия старого вложения (т. Е. Имеющая хэш-сумму старого вложения) появляется в /tmp/mozilla_foouser0, названном, например, /tmp/mozilla_foouser0/wIzoDA_S.ods.part, поскольку Firefox отображает диалоговое окно «Что следуетFirefox делать с этим файлом ".В журнале веб-сервера нет активности, так что это полностью внутреннее дело Firefox.Файл, находящийся на сервере, является новым (опять же, согласно его хэш-сумме).«Очистить загрузки» в Firefox не имеет никакого эффекта.

...