сделать Zend очистить кеш для каждого посещения? - PullRequest
3 голосов
/ 01 февраля 2012

У меня есть приложение, разработанное в Zend Framework.Мне нужно убедиться, что браузер не использует кеш каждый раз, когда загружает мой сайт.Есть ли способ сделать Zend очистить кеш для каждого посещения?я ищу, возможно, настройки ini.

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Если вы используете сеансы (Zend_Session), PHP автоматически отправляет эти заголовки.

Если вы не используете сеансы, внутри контроллера Zend вы можете использовать это:

<?php

class SomeController extends Zend_Controller_Action {
    function indexAction(){
        $this->getResponse()->setHeader('Cache-Control','no-store, no-cache, must-revalidate, post-check=0, pre-check=0',1);
        $this->getResponse()->setHeader('Expires','Thu, 19 Nov 1981 08:52:00 GMT',1);
        $this->getResponse()->setHeader('Pragma','no-cache',1);
    }
}
0 голосов
/ 07 февраля 2012

Я не знаю, хорошая ли это идея, но вы могли бы начать с прочтения:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

в пункте 14.9. Существует полное объяснение управления кешем.

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

Имейте в виду: если вы не разрешите браузеру кэшировать содержимое, при каждом доступе он будет медленным при первой загрузке ... (особенно если имеется много изображений и «тяжелых» объектов)

Хорошее программирование!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...