Файл, обслуживаемый через скрипт, не обновляется из кеша должным образом ⇐ Php
Файл, обслуживаемый через скрипт, не обновляется из кеша должным образом
Я создал сценарий, который обслуживает личные файлы за пределами папки доменов. Целью сценария является использование некоторого PHP-скрипта для проверки того, что тот, кто запрашивает файл, имеет надлежащий доступ к тому, что он запрашивает.
Чтобы избежать повторного запроса файла, который пользователь уже скачал, я добавил несколько заголовков, чтобы установить правила кэширования для файла. Пока что все работает правильно, чтобы определить, изменился ли с тех пор обслуживаемый файл. Однако, несмотря на то, что статус 304 «Не изменено» больше не отправляется, он все равно отправляет старый файл. пример:
[*]Запросить вновь добавленный файл; подать файл с кодом 200 Ok [*]Запросить ранее загруженный файл; обслуживать код 304 Not Modified [*]Изменить изображение, запросить новое измененное изображение; отправить новый файл с кодом 200 Ok
Единственная часть, которая не работает, — это предоставление нового изображения. Мой браузер отказывается обновлять его, пока я не нажму Ctrl+F5. Если я выгружу только необработанные данные файла, я визуально увижу, что он обновляется правильно, но как только я добавляю заголовок Content-type, он отказывается обновляться.
Вот пример кода, который я использую для обработки заголовков кэширования. (фактические значения определяются до того, как скрипт достигнет этой части, и они не имеют особого значения)
Я создал сценарий, который обслуживает личные файлы за пределами папки доменов. Целью сценария является использование некоторого PHP-скрипта для проверки того, что тот, кто запрашивает файл, имеет надлежащий доступ к тому, что он запрашивает.
Чтобы избежать повторного запроса файла, который пользователь уже скачал, я добавил несколько заголовков, чтобы установить правила кэширования для файла. Пока что все работает правильно, чтобы определить, изменился ли с тех пор обслуживаемый файл. Однако, несмотря на то, что статус 304 «Не изменено» больше не отправляется, он все равно отправляет старый файл. пример:
[*]Запросить вновь добавленный файл; подать файл с кодом 200 Ok [*]Запросить ранее загруженный файл; обслуживать код 304 Not Modified [*]Изменить изображение, запросить новое измененное изображение; отправить новый файл с кодом 200 Ok
Единственная часть, которая не работает, — это предоставление нового изображения. Мой браузер отказывается обновлять его, пока я не нажму Ctrl+F5. Если я выгружу только необработанные данные файла, я визуально увижу, что он обновляется правильно, но как только я добавляю заголовок Content-type, он отказывается обновляться.
Вот пример кода, который я использую для обработки заголовков кэширования. (фактические значения определяются до того, как скрипт достигнет этой части, и они не имеют особого значения)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Настройка тега кеша и аннулирование кеша блока с помощью перехватчика и события?
Anonymous » » в форуме Php - 0 Ответы
- 40 Просмотры
-
Последнее сообщение Anonymous
-